Spa*_*y74 5 networking containers docker visual-studio-code
我在 VSCode 中创建了两个不同的 Node.JS 项目。有时,项目 A 需要调用项目 B。项目 A 正在端口 60100 上运行。项目 B 正在端口 60200 上运行。当我尝试使用 http://localhost:60200/ 调用项目 B 时,我得到一个传输错误。如果我在两个容器配置 (devcontainer.json) 上公开端口 60200,它将引发错误,因为该端口已在使用中。
我知道我可以使用 docker-compose 并在同一个项目中运行它们,但它们有单独的 git home 并且大多数时候都是独立的。
我能做些什么来让它们连接起来吗?也许对每个单独的容器使用 docker-compose,但在组合中使用相同的网络名称?这能让他们交流吗?
这就是我所做的(虽然我用它来让我的 devcontainer 加入 docker-compose 网络,但应该应用相同的原则)...
在我的 devcontainer.json 中...
"initializeCommand": "docker network inspect my_shared_network > /dev/null || docker network create my_shared_network --attachable",
"runArgs": [
"--network=my_shared_network",
],
Run Code Online (Sandbox Code Playgroud)
这将创建一个命名网络(如果尚不存在),并指示 VSCode 将其用于 devcontainer。
例如,您可能需要添加"--hostname=devcontainer-project-b"到 runArgs 中,以便可以在 URL 中使用该名称。
| 归档时间: |
|
| 查看次数: |
1601 次 |
| 最近记录: |