開発環境をDocker化してだんだん慣れてきたので日々の使い方をまとめてみる。ちなみにWindows環境。
利用するために必要なもの
Docker Toolbox(必須)
https://www.docker.com/products/docker-toolbox
ConEmu(任意。なくてもいいけどターミナルがしょぼいとやる気が出ないので)
https://conemu.github.io/
毎日実行するコマンド
毎日使ってるコマンドはこれぐらい。Compose 使うとコマンドがシンプルになるので便利。
Docker Toolbox 起動
$ docker-machine start default
Docker Toolbox にログイン
$ docker-machine ssh default
Docker Compose を使って起動
$ export WORK='my working directory'
$ docker-compose -f docker-compose.yml up -d
ブラウザで以下にアクセスして開発
http://localhost/
ログとか確認するためにDockerにログインしたいとき
$ docker exec -it 'container name' bash
ログインするのもめんどくさいとき
$ docker exec -it 'container name' tail /var/log/httpd/httpd-error.log -f
Compose
volumes を使ってローカルのソースをコンテナにマウントしてる。
servera:
build: ./servera
ports:
- "8080:80"
- "8443:443"
volumes:
- ${WORK}/xxxxx:/xxxxx
environment:
- XXXXX=xxxxx
ポイント
- シンプルなコマンドしか使わない
- Compose使うとポートとかマウントとかの設定が隠ぺいできるので良い
- すべてコミットする
- Dockerfileとかdocker-compose.ymlとかはGitで管理
- ユーザーとか環境に依存しない
- AさんとBさんで異なる設定などは環境変数で吸収する
- docker-compose.ymlだけ修正すればいいようにしてる