カテゴリー
Microsoft

Docker Compose で気軽に Apache PHP 環境を構築するメモ

ファイルの内容

  • 適当なフォルダに docker-compose.yml を作成
  • docker-compose.yml を置いたフォルダに、data/var/www/html フォルダを作る
  • data/var/www/html フォルダに HTML や PHP ファイルを置く
  • コンテナ起動後、ウェブブラウザで http://localhost 等にアクセスする
カテゴリー
Microsoft

ローカル開発環境の古い MySQL、バージョン 5.5 を Docker で再現できるかやってみましたらできました♪

はじめに

  • 開発のために MySQL 5.5 を手元の Windows にインストールしなければならない。
  • はっきりいって嫌だ。
    • Windows 起動時に自動的に MySQL も起動してしまったり。
    • Windows のポートも使用されてしまったり。
  • Docker で再現できるのでは?
    • Nginx を Docker で使ったとき、http://localhost でウェブページにアクセスできた。
    • Nginx を Docker で使ったとき、docker run 時、-p 8080:80 などとすれば、http://localhost:8080 でアクセスできた。
    • つまり、ホスト (Docker をインストールしたマシン) からコンテナに対して、localhost と指定したポート番号でアクセスできるということ。
  • A5:SQL Mk-2 – フリーの汎用SQL開発ツール/ER図ツール .. 松原正和 からアクセスできるか、やってみる。
カテゴリー
コンピューター

【Docker】volumes で永続化した場合、コンテナが消えようがイメージが消えようが、永続化したファイルは残る

永続化関連のまとめと遭遇したトラブル

  • コンテナを削除 (docker rm や docker-compose down など) しても、volumes のホスト側のファイルは残る。
  • MySQL の /docker-entrypoint-initdb.d/ に置いた SQL ファイルは、コンテナを作成 (1回目) してコンテナを削除して、コンテナを作成 (2回目) した場合、1 回目しか実行されない。
    • 1 回目で永続化されたファイルが出来上がり、これは削除されない。すると 2 回目では永続化された DB ファイルがあるため、実行されないのであろう。
    • したがって、開発中などの場合、永続化の設定をした状態で 2 回目のコンテナを作成する前に /docker-entrypoint-initdb.d/ の SQL を編集してもその内容はコンテナに反映されない。
    • 永続化したファイルを消せば、コンテナに反映される。
カテゴリー
コンピューター

【Docker】MySQL のコンテナ A に、MySQL のコンテナ B からシンプルに接続する方法

はじめに

Docker さえあれば、MySQL クライアントが用意できる、それもたった 1 行のコマンドで。

これが実現できましたのでノートいたします。

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

【Docker】Nginx + PHP-FPM のシンプルな docker-compose.yml のポイントをノートしました

はじめに・環境

意外なことに注意しなければならない点があったため、メモいたします。

$ SW_VERS
ProductName:	Mac OS X
ProductVersion:	10.12.6
BuildVersion:	16G1510
$
$ docker --version
Docker version 18.06.0-ce, build 0ffa825
$ docker-compose --version
docker-compose version 1.22.0, build f46880f
$

Nginx + PHP-FPM のシンプルな docker-compose.yml のポイント

  • Nginx コンテナの volumes に HTML を置くディレクトリを指定しないと、HTML を処理してブラウザで表示できない。
  • 補足すると、PHP コンテナの volumes に PHP を置くディレクトリを指定してここに HTML ファイルを置いたとしても、その HTML ファイルはブラウザで表示できない。
  • 逆も然り。PHP コンテナの volumes に PHP を置くディレクトリを指定しないと、PHP を処理してブラウザで表示できない。
  • それぞれのコンテナごとに、必要な volume を省略しないで明確に記述すること。
カテゴリー
Apple

Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。

はじめに

TCP/IP の 9000 ポートで Nginx から PHP へ接続することができるようになりました。これを、Unix ドメインソケットに変更したい、そんな中で得たことを残します。。