gpt4 book ai didi

docker - 有没有办法让 VSCode 中的两个容器从不同的项目进行通信?

转载 作者:行者123 更新时间:2023-12-05 06:10:41 31 4
gpt4 key购买 nike

我在 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",
],

这会创建一个命名网络(如果尚不存在),并指示 VSCode 将其用于 devcontainer。

您可能希望将例如 "--hostname=devcontainer-project-b" 添加到 runArgs,以便您可以在 URL 中使用该名称。

关于docker - 有没有办法让 VSCode 中的两个容器从不同的项目进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64343816/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com