docker-compose up
docker-compose.ymlの定義を元にコンテナ群を作成し起動します。Dockerイメージのビルド及び出来上がったコンテナの実行まで行います。
--build
必ずDockerイメージのビルドを行わせることができます。(一度ビルドを行っている場合は省略されるため)
-d
Dockerコンテナをバックグラウンドで起動させます。フォアグラウンドで実行させて「Ctrl + C」で強制終了させてしまうとRailsがどのプロセス番号で起動しているか記録している「サーバPIDファイル」が残ってしまい、それを消さない限りは次回の起動に失敗してしまいます。効率よく開発する場合はできるだけこのdオプションをつけるようにしましょう。
docker-compose stop
コンテナを停止させます。停止させるだけであってコンテナは削除されずに存在した状態になります。
docker-compose rm -f
コンテナを削除します。
docker-compose down
docker-compose.ymlの定義を元にコンテナ群を停止して削除します。docker-compose stopとdocker-compose rm -fをまとめておこなってくれるので基本的にこれを使えばOKです。停止したいコンテナIDを必要とする「docker container stop」よりも楽に停止させることが可能です。
docker-compose restart
Dockerコンテナの再起動を行います。
docker-compose ps
Dockerコンテナが起動しているか確認できます。
コンテナでコマンド実行コマンド
以下の2種類あります。
- docker-compose run [コンテナ名] [コンテナで実行したいコマンド]
- docker-compose exec [コンテナ名] [コンテナで実行したいコマンド]
run と execの違い
run
- コンテナを新しく作って実行する。
- 「docker-compose up」等でコンテナが起動していなくても使える。
- 新しいコンテナに接続するのでコマンド履歴が残らない。
- 低速
用途
コンソール用のコンテナ等、普段は立ち上げもしないがいざコマンド作業の際にのみ使うコンテナで作業をする場合はこれを使う。
exec
- docker-compose up などで起動しているコンテナを利用する。
- 起動中の docker コンテナがないと実行できない。
- 同じコンテナに接続するのでコマンド履歴が残っている。
- 高速
用途
DBコンテナ等、普段から当たり前に立ち上げているコンテナに接続する場合はこちらを使う。
-T
デフォルトで有効になっているTTYへの割り当てを無効にする。
docker-compose build
Gemfileに記述したGemをインストールできます。
この記事へのコメントはありません。