我目前正在与一小群人一起使用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来创建开发环境?
问候
--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