docker - docker-compose无法与网络产生网络冲突,网络具有重叠的IPv4

标签 docker nginx networking

我有多个开发站点,需要进行dockerise和在本地运行。我需要给它们提供固定的IP,因为它们使用来自服务的回调,而这些服务需要始终命中相同的IP。

在我的第一个docker堆栈上,它运行完美

php-fpm:
  image: php:fpm
  container_name: site1-php-fpm
  working_dir: /application
  networks:
    site1:
      ipv4_address: 172.18.0.5
.......
.......
.......

networks:
  site1:
    driver: bridge
    ipam:
      config:
      - subnet: 172.18.0.0/16

我可以通过yaml文件中指定的172.18.0.1/2/3/4/5访问服务。尝试创建下一个站点时出现问题,如下所示:
php-fpm:
  image: php:fpm
  container_name: site1-php-fpm
  working_dir: /application
  networks:
    site2:
      ipv4_address: 172.18.1.5
.......
.......
.......

networks:
  site2:
    driver: bridge
    ipam:
      config:
      - subnet: 172.18.1.0/16

我的计划是使用172.18.1.0、172.18.2.0、172.18.3.0 ....依此类推,但出现此错误:
cannot create network bc0ef736dbefd4622b5ca304e35fe8be3d071fc86ad45b41a161ea300c9ef929 (br-bc0ef736dbef): conflicts with network 2a52c21c5e042d56c47c032d78141c3413766ec6fb248e3a69ee9f794f38b70a (br-2a52c21c5e04): networks have overlapping IPv4

我认为172.18.0.0和172.18.0.1哪里有不同的子网?还是我弄错了?

最佳答案

子网掩码/16表示网络前缀是地址的前16位,或者换句话说,是前两个数字-172.18.。在这种情况下,它们实际上是重叠的。您必须将子网掩码更改为/24或使用其他网络前缀,即172.18.172.19.172.20.等。

关于docker - docker-compose无法与网络产生网络冲突,网络具有重叠的IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49059948/

相关文章:

wordpress - 无法通过 HTTPS 访问 WordPress docker 容器的静态文件

node.js - Google Cloud Load Balancer 与 Nginx Load Balancer 它们有何不同?

networking - 如何从pcap文件中提取数据

apache - 如何配置HTTPS Nginx + Pagespeed + Varnish + Apache?

android - 如何在不离开应用程序的情况下激活 Android 应用程序中的网络

linux - 获取事件接口(interface)的mac地址

docker - 如何以非 Root 用户身份运行我的容器

docker - 带有gitlab-ci.yml的Docker内部的Docker

java - 浏览器代理 : How to determine IP for proxy server?

ubuntu - 如何与 Flask 后端 api 一起构建 Angular 2 前端应用程序?