docker-composeで一時的な環境変数を付与してコンテナ内のスクリプトを実行する

技術的な話

やろうとしたこと

docker-composeで環境変数を変更しながら、コンテナ内のスクリプトをホスト側から実行したかった。

docker runと同じようなのがdocker-composeにあるかなぁ思い調べたら、同じ要領で普通にいけたのでメモ。

コマンドも可能な限り統一したいけど、docker-composeもdocker側に飲み込まれそうなんだよね。

docker compose
docker compose: You can use compose subcommand, `docker compose `, to build and manage multiple services in Docker containers. ### Use `-f` to specify name a...

これでOK

runと同じオプションでした。

# <ENV_VARIABLE>=<VALUE>:環境変数
# <container-name>:コンテナ名
$ sudo docker-compose exec -e <ENV_VARIABLE>=<VALUE> <container-name> ./script.sh

まとめ

そろそろ普段使用するコマンドをdocker-composeからdocker composeに変更していこうかなぁ。
公式ドキュメントもそっちの方が引っ掛かりやすくなっていますし。

というか調べたら2020年の10月にv1がリリースされていて、今も活発に開発されていそうな様子。

GitHub - docker/compose-cli: Easily run your Compose application to the cloud with compose-cli
Easily run your Compose application to the cloud with compose-cli - GitHub - docker/compose-cli: Easily run your Compose application to the cloud with compose-c...

docker-composeの互換性も概ねあって、version2も控えていて新しい機能の追加も期待されます。

乗るしかないこのビッグウェーブに。

タイトルとURLをコピーしました