网络 – 开发中的Docker-Compose – 管理子网

我目前正在与一小群人一起使用Docker-Compose进行开发.我将描述我们目前面临的设置和方案.

我们在VCS中检查了一个项目.开发人员检查一下并在单个主机上进行“docker-compose up”,但是在主文件夹中.这将创建默认网络并自动为新的默认网络分配子网(到目前为止,所以’docker-compose’).这对我们来说非常好,因为它将开发环境彼此隔离开来,并且允许我们使用命名服务来访问我们的Compose文件中的数据库等 – 所有这些都没有踩到脚趾,开发人员不需要手动配置任何东西.

障碍是;此默认网络的增量子网为172.*.0.0.在我们到达目前在我们公司网络上使用的子网之前,这很好.例如:我们的VPN使用172.19.0.0.当有足够的开发人员启动堆栈时,我们将有大约4个或5个这些子网创建访问问题.

其他人如何使用Docker Compose管理这种情况进行开发?

从本质上讲,我们有许多运行Docker的主机,每个应用程序上有许多不同的应用程序和许多开发人员.在撰写文件中定义单个子网;每个用户;每个应用程序(确保所有子网都是唯一的,无论主机如何)都将成为管理的绝对噩梦,并可能成为电子表格管理的一项练习.

我甚至找不到一种方法来强制Docker-Compose使用不同的子网范围,例如10.0.0.0等 – 这在我们的公司网络上会很好.

任何有关这种配置的帮助将不胜感激.当然其他人使用Docker-Compose来创建开发环境?

问候

最佳答案
Docker 18.06 introduces the --default-address-pool option.使用它,您可以指定用户定义的网络默认使用的地址范围,如果没有使用网络的–subnet参数明确设置的话.
您可以查看已实现和讨论功能的拉取请求,以获取更多信息:moby/29376,moby/36054,moby/36396,

--default-addr-pool

This flag specifies default subnet pools for global scope networks.
Format example is --default-addr-pool 30.30.0.0/16 --default-addr-pool 40.40.0.0/16

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...