毎日学習記録 9/5 docker-composeのコマンドおさらい
概要
docker-composeのコマンドおさらい
内容
よく使うコマンドだけど、upコマンド以外あまり実行しないので今一度みていこうと思う
起動
$ docker-compose up -d
Starting mysql_host ... done
Starting docker_application_1 ... done
いつも使うコマンド、-dをつけるとバックグラウンドでの実行となる
また、コンテナが起動中に-dをつけて実行した場合は、設定反映のために停止/再生成が行われる
upについての補足
docker-compose upは挙動としてはビルドと起動を同時に行なっており、ビルドしたものがある場合は最新のビルドを利用して起動する。
なので、upの機能としては
- docker-compose build
- docker-compose start / run [コンテナ名]
をまとめて実行しているのとほぼ同じものになる。
一覧
コンテナ一覧を確認する際に使う。
$ docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------
mysql_host docker-entrypoint.sh mysql ... Up 0.0.0.0:13306->3306/tcp, 33060/tcp
docker_application_1 bundle exec rails s -b 0.0.0.0 Up 0.0.0.0:3000->3000/tcp
停止
起動中コンテナを停止する
$ docker-compose stop
Stopping docker_application_1 ... done
Stopping mysql_host ... done
ちなみにこの後psを行うとstatもexitになっており停止していることがわかる
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------
mysql_host docker-entrypoint.sh mysql ... Exit 0
docker_application_1 bundle exec rails s -b 0.0.0.0 Exit 1
削除
停止中コンテナを削除する
$ docker-compose rm
Going to remove docker_application_1, mysql_host
Are you sure? [yN] y
Removing docker_application_1 ... done
Removing mysql_host ... done
※ -fオプションをつけると確認なしで削除できる
その他削除方法
コンテナを停止し、コンテナの削除とネットワークの削除を行う。
$ docker-compose down
Stopping docker_application_1 ... done
Stopping mysql_host ... done
Removing docker_application_1 ... done
Removing mysql_host ... done
Removing network docker_default
オプション
- –rmi all:イメージの削除も合わせて行う
- –volumes: ボリュームの削除を行う
上記二つは合わせることができるので、両方使用した場合はコンテナ、イメージ、ボリューム、ネットワークを削除できるようになる