Docker Compose网络:如果不存在多个文件和服务定义,是否创建?

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

Docker在这里写作。我正在查看并试图了解如何使用Docker网络执行与“
创建表(如果不存在)
”等效的操作。也就是说,在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我编辑了答案。