Docker Compose网络:如果不存在多个文件和服务定义,是否创建?
Docker在这里写作。我正在查看并试图了解如何使用Docker网络执行与“Docker Compose网络:如果不存在多个文件和服务定义,是否创建?,docker,docker-compose,docker-networking,Docker,Docker Compose,Docker Networking,Docker在这里写作。我正在查看并试图了解如何使用Docker网络执行与“创建表(如果不存在)”等效的操作。也就是说,在SQL中,如果表不存在,通常可以告诉RDBMS创建一个表 在这里,从Docker Compose文件中,我想告诉Docker创建一个网络(如果它还不存在),然后将我的服务(容器)连接到它 这可能吗?理想情况下,它可以是灵活的,这样我就可以有几个不同的Docker-Compose文件(Docker-Compose-a.yml,Docker-Compose-b.yml和Docke
创建表(如果不存在)
”等效的操作。也就是说,在SQL中,如果表不存在,通常可以告诉RDBMS创建一个表
在这里,从Docker Compose文件中,我想告诉Docker创建一个网络(如果它还不存在),然后将我的服务(容器)连接到它
这可能吗?理想情况下,它可以是灵活的,这样我就可以有几个不同的Docker-Compose文件(Docker-Compose-a.yml
,Docker-Compose-b.yml
和Docker-Compose-c.yml
),所有这些文件都定义了各种服务(容器),但它们都配置为创建(除非之前已经创建)并使用相同的“fizzbuzz
”网络
有什么想法吗?如果网络不存在,目前无法创建网络 你可以读更多 更新1 正如您在评论中所说,您可以将其添加到您的
docker compose
文件(每个文件)中,以便位于同一网络中
首先,使用以下命令创建网络:
docker network create NAME
然后将其添加到docker compose
文件中:
// from here to next comment is your docker-compose current status
version: '3'
services:
web:
image: some
// end here your current
// here is the part you should add for network
networks:
default:
external:
name: NAME
请注意,在运行
docker compose up-d
之前,您应该创建网络,否则您将得到网络不存在错误。这是否回答了您的问题?谢谢@Saeed(+1),如果我有多个Docker Compose文件,我如何让它们都使用相同的网络,以便它们定义的服务可以相互通信?@hotmeatballsoup我编辑了答案。