Dockerfileで定義したDevContainerを既存のDockerネットワークに接続させたい
以下の設定を .devcontainer.json
に追加でOK。
...
"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でやると問題が発生する、と言うことです。
このイシューは、docker-composeのコアであるdokcer-pyがSSH接続で使用するparamiko ライブラリがAuthorizedKeysを読んでくれないとかでcompose及びdocker-py側ではお手上げ?となっている模様です。。。
今のところdocker-composeを使いたければローカルしかないのだろうか・・・?
また、そもそもVSCodeでリモートのdockerホストに接続する設定などは以下のページが参考になります。