VSCode Remote Containers は Docker Compose も使える
VSCode の Remote Containers を開始する際、作成される雛形ファイルは devcontainer.json
と Dockerfile
の2つ。開発用コンテナを定義する Dockerfile
を1つ指定し、その開発用 Docker コンテナだけが起動する。
しかし、開発対象のアプリケーションと同時に、連携する DB のコンテナを同時に立ち上げたい、といったこともあると思う。そんな時に、Docker Compose を扱えないか調べてみた。
結論からいうと、Remote Containers では Docker Compose が使える。
- 公式 : devcontainer.json reference
- 参考 : VS Code Remote - Containers を Docker Compose で使うのだー! - Mitsuyuki.Shiiba
devcontainer.json
の中で、Dockerfile
ではなく docker-compose.yml
を指定すれば良い。合わせて、Docker Compose 向けのオプションを書いていく。
dockerComposeFile
プロパティ :docker-compose.yml
ファイルへのパスを指定するservice
プロパティ : 開発用コンテナが接続したいサービス名を書くrunServices
プロパティ : 起動するサービス名を列挙する。未指定だと全てのサービスが起動する
Docker Compose 向けの設定項目が結構違って、雛形から変更する箇所が多くなり複雑さも増すので、必要な時だけ実装するようにしよう。