Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定制docker桥网络_Docker_Gitlab_Docker Container_Docker Networking_Docker Network - Fatal编程技术网

定制docker桥网络

定制docker桥网络,docker,gitlab,docker-container,docker-networking,docker-network,Docker,Gitlab,Docker Container,Docker Networking,Docker Network,我希望我的docker0和所有容器与本地计算机具有相同的网关地址或在相同的IPrange中。我首先在ther daemon.json文件/etc/docker/daemon.json { "bip": "10.80.44.248/24", "fixed-cidr": "10.80.44.250/25", "mtu": 1500, "default-gateway": "10.80.44.254", "dns": ["10.80.41.14"] } 查看ip-a的输出似乎是可

我希望我的docker0和所有容器与本地计算机具有相同的网关地址或在相同的IPrange中。我首先在ther daemon.json文件
/etc/docker/daemon.json

{
  "bip": "10.80.44.248/24",
  "fixed-cidr": "10.80.44.250/25",
  "mtu": 1500,
  "default-gateway": "10.80.44.254",
  "dns": ["10.80.41.14"]
}
查看
ip-a的输出似乎是可行的
docker0似乎从那以后从未收到过任何数据

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet *10.80.44.248*  netmask 255.255.255.0  broadcast *10.80.44.255*
        ether 02:42:9c:b9:e1:63  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet *10.80.44.39*  netmask 255.255.255.0  broadcast *10.80.44.255*
        inet6 fe80::250:56ff:feb1:79e4  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:b1:79:e4  txqueuelen 1000  (Ethernet)
        RX packets 211061  bytes 30426474 (29.0 MiB)
        RX errors 0  dropped 33861  overruns 0  frame 0
        TX packets 3032  bytes 260143 (254.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
我不明白为什么现在IPAM配置有一个IPv4配置

“辅助地址”:{ “DefaultGatewayIPv4”:“10.80.44.254” }

我意识到,现在网桥不是从与
守护进程配置的相同子网创建的,而是创建了两个具有不同IP范围的不同网桥。这仍然是docker的默认设置

docker网络

docker网络检查dockergitlab_默认值

我不知道为什么docker网桥现在使用旧的默认ip地址创建

本地系统详细信息

我可以在本地计算机上执行
apt更新
,但当我登录到gitlab runner时,我无法执行
apt更新

Linux  4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64

Docker version 17.12.0-ce, build c97c6d6

docker-compose version 1.18.0, build 8dd22a9
有没有一种方法可以跳过桥的设置。从我所读到的内容来看,当我在daemon.json文件中定义/配置cdir和网关时,所有内容都将从那里获取,用于创建网桥网络和所有其他容器


提前感谢你的帮助

首先,您已经正确配置了
docker0
网桥,使用普通
docker run
命令启动容器时,应将它们连接到网桥,并在
10.80.44.250/25中为它们提供IP

根据您粘贴的内容,我猜您正在使用
docker compose
启动容器

docker-compose
将为每个docker-compose.yml创建一个
myproject\u默认值
网络,如果您没有指定任何内容

现在,您无法选择将在哪个池中选择IP范围,默认情况下是a
172.[17-31].0/16
。当前存在允许覆盖此行为的活动拉取请求:

如果要在
docker compose.yml
中手动指定IP范围,可以编写以下命令:

networks:
  default:
    ipam:
      config:
        - subnet: 10.80.44.250/25

编辑:这仅与docker compose语法>=3.0兼容

谢谢。你是对的。这就是事情不起作用的原因。我将尝试在我的撰写配置文件中手动执行此操作。我还必须保留docker0配置吗?当我将此网络选项添加到docker-compose.yml时,我得到了不受支持的配置选项。任何提示。我正在为docker compose使用文件格式“2.2”。谢谢,我现在修好了。我仍然获得与docker0重叠的IPv4地址。有什么想法吗?是的,子网不应该重叠,因此您必须为docker 0和docker compose网络选择两个不同的范围。因此,这里您可能希望使用两个连续的/26而不是/25:一个用于docker0,一个用于dockergitlab_默认值。我建议启动docker compose网络中的容器,并将普通的
docker run
容器连接到此网络。如果您在默认网桥(
docker0
)中运行docker compose容器,您将失去容器之间的自动DNS解析(在docker compose.yml中使用
链接时得到的)。您可以在此处查看文档:
[
    {
        "Name": "dockergitlab_default",
        "Id": "6ce11066cdeabf3cfe65b2dff22046bd1e9c18d2588f47b9cd3c52ea24f7a636",
        "Created": "2018-03-14T08:56:23.351051727+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "60f769c91cff1de47794a7c8b587b778488883da094ae32cfde5196ee0f528f1": {
                "Name": "gitlab-runner",
                "EndpointID": "5122fe862537fb8434a484b4797153274b945e20bc3c7223efc6fd0bd55eae14",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
            "9c46e1fde6390142bddf67270cfeda7b3e68b1a6e68cabc334046db687240a8d": {
                "Name": "dockergitlab_postgresql_1",
                "EndpointID": "8488b32cc34a2c92308528de74b5eddcecac12a402ee6e67c1ef0f2750b72721",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },
            "eaf29f5f405cbf9bdd918efad26ceae1a8c3f58f4bef0aa8fd86b4631bcfdf43": {
                "Name": "dockergitlab_gitlab_1",
                "EndpointID": "d7f78ee9bd51dd13826d7834470d03a9084fc7ab8c6567c0181acecc221628c6",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "f460687ec00eff214fa08adfe9a0af5b85c392ceb470c4ed630ef7ecb0bfcba1": {
                "Name": "dockergitlab_redis_1",
                "EndpointID": "8b18906f1c79a5faaadd32afdef20473f9b635e9a1cd2c7108dd98df48eaed86",
                "MacAddress": "02:42:ac:11:00:05",
                "IPv4Address": "172.17.0.5/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "dockergitlab"
        }
    }
]
Linux  4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64

Docker version 17.12.0-ce, build c97c6d6

docker-compose version 1.18.0, build 8dd22a9
networks:
  default:
    ipam:
      config:
        - subnet: 10.80.44.250/25