exec
- docker-compose up などで起動しているコンテナを利用する
- 起動中の docker コンテナがないと実行できない
- 同じコンテナに接続するのでコマンド履歴が残っている
- おおむね高速
docker-compose exec <service_name> bash
run
- コンテナを新しく作って実行する
- docker-compose up などで コンテナが起動していなくても利用できる
- 新しいコンテナに接続するのでコマンド履歴は残っていない
- おおむね低速
- docker コンテナ同士がうまく連携するように、依存関係を考慮して compose ファイルが書かれていないと、思わず動かない処理があったりするかもしれない
docker-compose run <service_name> bash
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。