docker
docker-compose

docker-composeコマンド

概要

個人的によく使うdocker-comopse コマンドをまとめます

コマンド一覧

コマンド 説明
build サービスのimageをビルド
restart サービスを再起動
run サービスを起動
up サービスのimageをビルド&起動
exec サービスに対してコマンドを実行
logs サービスのログを出力
stop サービスを停止させる
kill サービスをkillする

build

全てのサービスをビルドする

docker-compose build

サービス名を指定してビルドすることもできます

例: railsをビルド

docker-compose build rails

up

全てのサービスを起動する

docker-compose up

-d を指定してデーモン状態で起動することもできます

docker-compose up -d

サービス名を指定して起動することもできます

例: railsを起動

docker-compose up rails

or

docker-compose up -d rails

exec

exec コマンドを使って、コンテナ内のサービスに対してコマンドを実行できます

docker-compose + exec ( or run )  + サービス名 + 実行したいコマンド

いくつか例を上げてみます

macOS上のコマンド docker-composeコマンド サービス名 コンテナ内で実行するコマンド
dbコンテナに入る docker-compose exec db bash
railsコンテナに入る docker-compose exec rails bash
bundle installをする docker-compose exec rails bundle install
db:create をする docker-compose run rails db:create
db:migrate をする docker-compose exec rails db:migrate
rspecを実行する docker-compose exec rails bundle exec rspec

run を指定して実行した場合は新しくコンテナを立ち上げてから実行し、 exec を指定して実行した場合は既に立ち上がっているコンテナを使って実行します

logs

全てのサービスのログを出力する

docker-compose logs

サービス名を指定して出力することもできます

docker-compose logs rails

stop

全てのサービスを停止する

docker-compose stop

サービス名を指定して出力することもできます

docker-compose stop nginx

kill

全てのサービスをkillする

docker-compose kill

サービス名を指定してkillすることもできます

docker-compose kill rails