gpt4 book ai didi

docker - 如何在版本 2 docker-compose 定义文件中定义网络?

转载 作者:IT老高 更新时间:2023-10-28 12:47:49 26 4
gpt4 key购买 nike

documentation about networking is currently对此非常模糊——你如何完成一个 docker-compose.yml 创建一个虚拟网络,让它定义的服务(容器)在该网络上通信?

此场景中的目标不是依赖预定义的网络,而是为 docker-compose 定义的容器集合。而是将网络定义自包含在 docker-compose 定义文件中。

对于预定义的网络,如果 A 中的应用程序使用名称 B 作为主机名来访问打包在 B 中的应用程序,则下面的方法将起作用 在其端口 9000 上监听。它将用于它的 host:port 将是 B:9000(更具体地说是 uri mongodb://B:9000 在我的特殊情况下)。

foo:
net: my-pre-defined-network
container_name: A
image: foo
bar:
net: my-pre-defined-network
container_name: B
image: bar
ports:
- "9000:9000"

但我的意思是在 docker-compose 配置中定义一个网络,而不是假设一个是先验定义的......

TL;DR

会自动创建默认网络。见 https://docs.docker.com/compose/networking/ 的开头部分了解如何寻址该网络中的容器。

最佳答案

只要您使用版本 2 格式,Compose 就会为您创建一个 default 网络,但如果您想自定义网络,文档在这里:

您可以在 Compose 文件的顶层创建一个 networks 部分,并在每个服务的 networks 部分中引用它们。但您不需要,只需使用下面评论中描述的默认网络即可。

关于docker - 如何在版本 2 docker-compose 定义文件中定义网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708873/

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