Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【2020年11月版】DockerfileのDevContainerをDockerネットワークに接続する【VSCode】

Dockerfileで定義したDevContainerを既存のDockerネットワークに接続させたい

以下の設定を .devcontainer.json に追加でOK。

.devcontainer.json
...
"runArgs": [ "--network=other-docker-network"] 
...

以上。

ちなみに利用可能なdockerネットワーク名は docker network ls でリストアップできます。

参考

https://code.visualstudio.com/docs/remote/devcontainerjson-reference
https://docs.docker.com/engine/reference/commandline/run/
https://docs.docker.com/network/

解説

VS CodeのDevContainerではdocker-composeでも定義可能ですが、リモートのDockerサーバー上でDocker-composeしたい場合は少々、問題があります。
DBやRedis、Nginxなどを別コンテナにして、開発したい場合は往々にしてあるわけです。
そこでdocker-composeを利用したい、と言うのは当然で、ローカルでdocker-composeを使う分には問題ないのです。
Dockerはサーバーに ssh://docker@docker-server 形式でも接続できますが、これをDokcer-composeでやると問題が発生する、と言うことです。

https://github.com/docker/compose/issues/6336 "Docker Compose doesn't work when SSH connection used to remote Docker Engine"

このイシューは、docker-composeのコアであるdokcer-pyがSSH接続で使用するparamiko ライブラリがAuthorizedKeysを読んでくれないとかでcompose及びdocker-py側ではお手上げ?となっている模様です。。。

今のところdocker-composeを使いたければローカルしかないのだろうか・・・?

また、そもそもVSCodeでリモートのdockerホストに接続する設定などは以下のページが参考になります。

koinori
最近の記事はタグが5つじゃ足りない。
pro-japan
さまざまな価値観を持ち、日々変化し続ける技術を探究し、チャレンジし続けることで、楽しみながら「あったらいいな」を創り上げ、実現します。
https://www.pro-japan.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away