docker-composeで起動したコンテナにbashで入ったりコマンドを渡す

f:id:setouchinatsu:20190403180056p:plain:w200

立ち上がっているコンテナに入る

立ち上げている状態のコンテナIDに対してdocker exec -ti app bashとして入ることもできるが、docker-composeコマンドから直に入ることもできることを知った。

docker-compose exec app bash

もちろん以下のようにもできる

docker-compose exec app php /path/to/hoge.php

コメントで教えてもらいましたが、当初はdocker-compose run app bashと書いておりました。こちらはコンテナを立ち上げての処理になるので、既に起動しているコンテナに入る時はexecを、まだ立ち上げていないコンテナに入る場合はrunを使えば良さそうです。

コンテナを立ち上げてコマンドを実行する

単純なコマンドをラップしたDockerイメージを開発する時にはdocker-compose runを使うと捗る。例えば普通のdockerコマンドでも同じことができるけど、docker-composeを使うと環境変数の管理が楽なので大変良い。

docker-compose run app node /app/index.js

また、バッチ関連をdocker化した場合においてだが、バックグラウンドで実行しておきたいって時はこんな感じで-dをつければ良い。

docker-compose run -d app node /app/index.js

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA