概要
Dockerで開発する機会があり、普段Vagrantを使っている自分にはわからないことが多々あったのでまとめておく
基本コマンド
仮想環境立ち上げ
docker-compose "up" " run" "start" コマンド 違い
docker-compose up
=>docker-compose.ymlで定義したサービスを開始または再起動する
- デフォルトは「アタッチド」モードであり、全てのコンテナのログが画面上に表示される。
- 「デタッチド」モード( -d )では、Compose はコンテナを実行すると終了するが、コンテナは後ろで動き続ける 。
docker-compose run
=> 「ワンオフ」(one-off;1つだけ、偶発的) または「アドホック」(adhoc;臨時)なタスクを実行 する
- 実行するにはサービス名の指定が必要であり、特定のサービス用のコンテナを起動し、かつ依存関係のあるコンテナも起動する 。
- テストの実行であったり、データ・ボリューム・コンテナに対するデータの追加・削除といった管理タスク。
- run コマンドは実際には docker run -ti。 コンテナに対してインタラクティブなターミナルを開き、コンテナのプロセスが終了すると、その時点の該当する終了コードを返す。
docker-compose start
=> 既に作成済みのコンテナを再起動 する
- 止まっているコンテナを起動するだけであり、新しいコンテナは作成しない。 (restartとかにしてくれた方が直感的なのでは?と思っている・・・)