过去几天我一直在玩Docker-Compose,看看它是否会简化我的Docker Container和Network构建过程。
我对它很满意,但是当我想创建一些没有被任何服务使用的‘网络’时,我遇到了一个问题。
我想要此行为的原因是有一个Docker-Compose文件来创建我的本地结构,即‘私有’网络和‘公共’网络。和一个单独的Docker--为我的每个利用已经创建的‘外部’网络的项目撰写文章。
我注意到我只能指定一个虚拟容器来初始化网络的创建,但这似乎是不必要的。例如..
version: '2'
services:
# Dummy Service
dummy:
image: busybox
container_name: dummy
hostname: dummy
networks:
private:
networks:
# Private Network for all Services (across Projects)
private:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.18.0.0/24
gateway: 172.18.0.1
有没有我忽略的设置/标志,或者目前没有办法使用Docker-Compose创建不带容器的网络。
另外,我是不是不正确地处理了这个问题?
本质上,我希望有一个网络,无论什么容器加入/离开它,它都能生存。
5条答案
按热度按时间yuvru6vn1#
Docker-compose中有一个检查网络是否已使用的检查,如果未使用,它将跳过创建网络:
我建议将其作为一个小的外壳脚本来执行,调用
docker network create
,而不是尝试使用docker-compose来完成此任务。wgx48brx2#
Docker-compose-networks.yml:
wydwbb8l3#
我所有的码头图片和网络等等。我喜欢用docker-compose运行的文件。所以,当我的思维过程是在docker-compose上时,我只有docker-composed网络文件,这些文件旋转出一个Hello-world图像(许多人已经有这个图像,否则它就像2kb),然后它立即退出粗糙的图像,但保留网络。
通过这种方式,我规划了我的网络,并以最小的开销将其很好地布置在Docker-Compose文件中。
cyvaqqii4#
实际上,您只需要设置一个在您的网桥子网范围内的“IPV4_ADDRESS”,就像@Alfa Bravo所说的。
比如
因此,
docker-compose
可以成功添加您自己的网桥。ssm49v7z5#
很难看,但对我很管用。