コマンド |
できること |
docker-compose build |
イメージを構築する |
docker-compose up |
イメージの構築・コンテナの構築・起動 |
docker-compose start |
既存のコンテナの起動 |
docker-compose run |
イメージの構築・コンテナの構築・起動・コンテナ内でのコマンドの実行 |
docker-compose exec |
コンテナ内でのコマンドの実行 |
イメージの構築
# 初回の構築
docker-compose build
# Dockerfileを更新後の構築
docker-compose build --no-cache
キャッシュ
キャッシュという一度ビルドすると作成される、2回目以降のビルド処理を速やかにしてくれる機能がある。
Dockerfile更新時には、キャッシュを用いてビルドされるの更新内容が反映されない可能性があるので、2回目以降は**キャッシュを無効にする**必要がある。
コンテナ起動
起動
# フォアグラウンドで起動
docker-compose up
# バックグラウンドで起動
docker-compose up -d
再起動(コンテナはそのまま、ソースコードの変更を反映)
# フォアグラウンドで起動していた場合
docker-compose up
# バックグラウンドで起動していた場合
docker-compose restart
再起動(コンテナの再構築、ソースコードの変更を反映)
# フォアグラウンドで起動
docker-compose up
# バックグラウンドで起動
docker-compose up -d
再起動(Dockerfileの変更を反映)
# フォアグラウンドで起動
docker-compose up --build
# バックグラウンドで起動
docker-compose up -d --build
コンテナ構築後の開発開始と終了
# 開始
$ docker-compose start
# 終了
$ docker-compose stop
後片付け
# 停止と削除(コンテナ・ネットワーク)
docker-compose down
# 停止と削除(コンテナ・ネットワーク・イメージ)
docker-compose down --rmi all
# 停止と削除(コンテナ・ネットワーク・ボリューム)
docker-compose down -v
# 全てを無に返す
docker-compose down --rmi all --volumes
コンテナ内での実行
# そのまま実行する
docker-compose run --rm bundle install
# コンテナ内のターミナルに入って実行する
docker-compose exec サービス名 sh
>bundle install
参考記事
https://qiita.com/tegnike/items/bcdcee0320e11a928d46
https://qiita.com/okyk/items/a374ddb3f853d1688820