在docker compose中添加默认外部网络
我正在努力学习docker并理解docker的写作 当我尝试外部网络部分时:在docker compose中添加默认外部网络,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我正在努力学习docker并理解docker的写作 当我尝试外部网络部分时: networks: default: external: name: my-pre-existing-network version: '3' services: my-service: # can be a pre-built image like this or built locally (check reference) image: some-im
networks:
default:
external:
name: my-pre-existing-network
version: '3'
services:
my-service:
# can be a pre-built image like this or built locally (check reference)
image: some-image:latest
networks:
- custom-network
networks:
custom-network:
driver: bridge
我明白
需要创建“我的现有网络”
是否可以从compose文件本身中创建新的默认外部网络
这更多是从学习/理解的角度进行的,也是docker network create命令的替代方法。谢谢。如果您在撰写文件中创建了网络,则该网络不被视为“外部网络”。您可以使用“网络”部分创建自定义网络:
networks:
default:
external:
name: my-pre-existing-network
version: '3'
services:
my-service:
# can be a pre-built image like this or built locally (check reference)
image: some-image:latest
networks:
- custom-network
networks:
custom-network:
driver: bridge
如果您要在swarm中使用compose文件,您可能需要选择driver:overlay
。可以找到其他信息。参考文档:“Compose不尝试创建名为[projectname]\u default
,而是查找名为my pre-existing network
的网络,并将应用程序的容器连接到该网络。”-docker Compose
不会尝试创建网络
外部
网络必须已经存在(例如“my pre-existing network
”),它可以是从不同的docker compose
环境创建的docker网络
,也可以是使用命令创建的docker网络
注意:docker compose
网络前缀为。您可以使用列出现有网络。否您需要先使用命令docker network来创建它网络my pre-existing network
需要存在(docker compose
不会创建指定为外部的网络)-它可以是从不同组合创建的docker网络
,也可以是使用命令创建的网络。请注意,docker Compose将根据此配置自动为您创建并使用名为default
的网络,因此,您可以删除此设置中的所有网络:
块,效果相同。但我不清楚这是提问者的要求。