Docker compose 如何限制从docker compose文件创建默认网络
我与默认docker子网重叠,因此我想为一些服务设置自定义网络。docker编写版本:3 docker-compose.yml示例Docker compose 如何限制从docker compose文件创建默认网络,docker-compose,Docker Compose,我与默认docker子网重叠,因此我想为一些服务设置自定义网络。docker编写版本:3 docker-compose.yml示例 version: '3' services: service1: build: dockerfile: Dockerfile service2: build: dockerfile: Dockerfile1 service3: build: dockerfile: Docker
version: '3'
services:
service1:
build:
dockerfile: Dockerfile
service2:
build:
dockerfile: Dockerfile1
service3:
build:
dockerfile: Dockerfile2
networks:
- net1
networks:
net1:
ipam:
driver: default
config:
- subnet: "172.101.0.0/24"
因此,当我执行以下命令时,我得到了两个网络:
docker组合--构建服务3
project\u default和project\u net1
但我需要其他服务的默认网络,因此无法更改默认设置。
如果没有用于服务,我应该怎么做才能不创建默认网络?如果您没有针对给定服务的
网络:
规范,Docker Compose的行为就像您指定了网络:[默认]
。在您的示例中,service1
和service2
位于default
网络上,service3
位于net1
网络上
如果您确实需要Docker Compose不创建默认的项目
网络,那么您需要将每个容器分配给其他网络。通过试验最小的docker compose.yml
文件,将networks:[net1]
显式添加到两个还没有它的服务中,将导致不创建默认的网络
如果您真正的问题只是围绕一个IP地址冲突,您可以这样做,这可能会更容易
version: '3'
services:
service1:
build: .
# with no networks:, so it gets the default
networks:
default:
ipam:
driver: default
config:
- subnet: "172.101.0.0/24"
我无法更改默认设置。这是我想解决的地方问题。如果我更改默认设置,我可以为某人创建新问题每个docker compose.yml
文件都有自己的default
网络;更改一个项目的默认设置
网络设置似乎不太可能对其他任何内容产生任何影响。