カテゴリー
コンピューター

Laravel 6 を Docker 化する。その 1 。Laravel のコード全てを `php:-apache` Docker コンテナに含める

はじめに

  • Laravel のコードを全て Dokcer コンテナの中に入れ、単一の Docker コンテナにする。
  • Go 言語における、ビルドして作成したバイナリのみ Docker コンテナに含めるようにし、 Docker コンテナをアプリとして扱うような感覚に近い。
  • Laravel のコードをコンテナとホストでボリューム共有するような、開発環境のために Docker を使う構成ではない。

今回行うこと

  • Laravel のウェルカムページを表示するだけの Docker コンテナを作る。
  • Docker コンテナ化することを今回の第一の目的とする。そのため、 composer install などは Docker ホストで行う。
  • ベースの Docker コンテナは php-apache とする。 php-fpm と Nginx だと、 Nginx 用のコンテナを別途用意するか、 Nginx をコンテナ内にインストールしなければならず、手間がかかる。今回は、簡単に行う。
カテゴリー
Linux

PHP 5.3 の Composer 環境を Docker で構築する

はじめに

docs/README.md at master · docker-library/docs を見てみても、2019年9月3日現在、 PHP 5.3 のイメージはありません。

でも、古いサーバの PHP をメンテしたい時、 PHP 5.3 が欲しいのです。そこで、 Docker イメージを作ってみました。

また、古いサーバの古い PHP を、 Composer を使って管理するようにもしたいので、 Composer も Docker イメージに含めるようにしました。

カテゴリー
Linux

【ELK スタック】Docker Compose アプリ (コンテナ) のログを別の Docker Comose のネットワークの Elasticsearch へ送る構成

はじめに

Docker ロギング・ドライバを使ってコンテナログを ELK スタックで利用する – oki2a24 の続きです。

前回は、 1 つの Docker Compose に、 アプリ (Nginx) も Logstash も Elasticsearch も Kibana も全部入っていました。

開発環境ではこれで足ります。けれども、他のアプリのログも集めたいとなりますと、 Elasticsearch と Kibana は独立させたいと思うようになりました。

今回、以下の 2 つの Docker Compose を用意し、これらを Docker のネットワークで繋ぐことで ELK スタックを実現できましたので、ノートいたします。

  • Docker Compose その 1: Nginx と Logstash
  • Docker Compose その 2: Elasticsearch と Kibana
カテゴリー
Linux

Docker ロギング・ドライバを使ってコンテナログを ELK スタックで利用する

はじめに

Docker Compose でミニマムに ELK スタックに入門する記録 – oki2a24 の続きです。

前回までは、 Nginx コンテナの、 Nginx のログ、 /var/log/nginx/access.log などのログファイルを、ディレクトリ共有することで Logstash もアクセス可能にし、読み取る、というやり方でやってきました。

今回は、ログファイルをファイルに書き込むのではなく標準出力にして (変更するというよりも、標準出力がデフォルト) 、そうするとログは Nginx コンテナのログとして出力されますので、これを Logstash で扱う、ということをやっていきます。

無事できたので、ワクワクしています♪

カテゴリー
Linux コンピューター

Docker でミニマムに ELK スタックに入門する記録

やること

  • DockerでELK(Elasticsearch Logstash Kibana) を構築してみました – Qiita をやってみる。
  • Docker で Nginx サーバを立てる。このサーバへのアクセスログを ELK スタックで収集・閲覧する。
  • Docker で ELK スタック ("Elasticsearch" 、 "Logstash" そして "Kibana" によるログ収集管理システム) を構築する。
  • 今回は Docker のみで操作する。 Docker Compose は使わない。
カテゴリー
Microsoft

WSL に何を入れているか、メモ

はじめに

これは、 WSL で開発環境を構築できそうなのでいろいろやっている中でのメモです。構成等、いろいろ気にせず書き散らかしていきます。

カテゴリー
Microsoft

WSL の Docker (Linux) から Docker for Windows を利用できるようにする手順

はじめに

  • WSL でインストールした Linux 用の Dokcer はうまく動かない、らしい。
  • WSL に Linux 用の Docker をインストールするがクライアント用 (接続用) として利用し、実際に動かすのは Docker for Windows とするとうまくいく、らしい。

とのことで、やってみました。お手本のページは次です。

作業の流れ

  1. Docker for Windows をインストールしておく
    1. Docker for Windows の設定を変更する
  2. WSL に Docker (Linux) をインストールする
  3. WSL での Docker 接続先設定を変更する
  4. WSL に Docker Compose をインストールする
  5. WSL に Docker Compose のコマンド補完をインストールする
カテゴリー
Linux

Docker php:7.3-fpm で zip モジュールを使えるようにしようとして発生したエラーと解決方法

解決方法まとめ

  • コンテナにインストールするパッケージを zlib1g-dev から libzip-dev へ変更した。
  • イメージのビルド時に PHP の設定として、 docker-php-ext-configure zip --with-libzip を追加した。
カテゴリー
Linux

Docker Compose で WordPress コンテナをボリューム共有して使おうとしたらアップデートができなくなった問題を解決する方法

テーマディレクトリを共有して困ったこと

  • WordPress インストール時に、言語の選択ができない。
  • WordPress 本体、プラグイン、テーマのアップデートができない。
カテゴリー
Microsoft

Windows の Git Bash から Docker や Docker Compose をうまく動かすための .bashrc

ポイント

  • コマンドの前に winpty をつければ動くようになる。例えば、 winpty docker ... など。
  • winpty を毎回つけるのは手間なため、 .bashrc などに alias を定義すると便利