Docker で Laravel の開発環境を作りたい
魔法のように見えるDocker・・・を学習して Laravel の開発環境を作っていきたい
最終的に作りたい開発環境
- Linux
- Apache
- PHP 7.2
- MySQL 5.7
- Laravel 5.5
- ローカルからコンテナのファイルいじりたい
- ローカルのPHP開発環境からデバッグしたい
- ローカルのMySQLクライアントからコンテナのMySQLへアクセスしたい
環境
ホスト
- macOS 10.14 Mojave
- Docker 18.09
とりあえずコピペから
$ docker run -d -p 80:80 --name myapp -v $(pwd):/var/www/html php:7.2-apache
- phpinfo()などのファイルを置いて動作確認
後片付け
$ docker stop myapp # コンテナ停止、その後 $ docker rm myapp # コンテナ削除
コマンドの意味
- Docker Hubからphp:7.2-apacheのイメージを取得
- myappというコンテナを作成
- コンテナをバックグラウンドで起動
- ホストの80ポートをコンテナの80ポートに接続する
- ホストのカレントディレクトリをコンテナの /var/www/htmlにマウントする
$ docker \ run # コマンドを新しいコンテナで実行 -d # コンテナをバックグラウンドで実行、コンテナIDを出力する -p 80:80 # コンテナのポートをホストに公開する。ホスト:コンテナ。 -v $(pwd):/var/www/html # ホストのディレクトリをコンテナのディレクトリにマウントする。ホスト:コンテナ。$(pwd)はシェルのコマンド置換で現在のディレクトリとして展開される php:7.2-apache # イメージを指定
参考
- マンガでわかるDocker
- マンガでわかるDocker2