LoginSignup
4
1

More than 3 years have passed since last update.

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

Posted at

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ホストに接続する設定などは以下のページが参考になります。

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1