毎日学習記録 9/5 docker-composeのコマンドおさらい

Share on:

概要

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: ボリュームの削除を行う

上記二つは合わせることができるので、両方使用した場合はコンテナ、イメージ、ボリューム、ネットワークを削除できるようになる