更改docker服務網段分配地址

docker安裝完畢後,會自動生成一個網卡名爲docker0的網橋,若是其默認分配的網段地址和已有地址段衝突,可按以下步驟修改。html

  • 查看默認地址段以下
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:6e:e3:0a:62  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
  • 刪除原有配置
yum install bridge-utils
systemctl stop docker.service
ip link set dev docker0 down
brctl delbr docker0
iptables -t nat -F POSTROUTING
  • 建立新的網橋
brctl addbr docker0
ip addr add 172.66.1.1/24 dev docker0
ip link set dev docker0 up
  • 在docker配置文件中追加參數
# cat /etc/docker/daemon.json
{
"bip": "172.66.1.1/24"
}
  • 啓動docker
systemctl start docker.service
  • 查看是否更改爲功
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.66.1.1  netmask 255.255.255.0  broadcast 172.66.1.255
        ether 8e:08:df:00:c3:dc  txqueuelen 1000  (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

更改docker-compose網橋地址

使用單機容器編碼工具,docker-compose時,容器之間的通訊網絡會用到br-xxx網橋,該網橋會在宿主機創建,示例以下:docker

[root@xingyongsheng ~]# ifconfig | head
br-35fc9d6212bd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.238.1  netmask 255.255.255.0  broadcast 172.16.238.255
        ether 02:42:7a:4f:9a:b9  txqueuelen 0  (Ethernet)
        RX packets 6441897  bytes 8754859570 (8.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1525889  bytes 953197479 (909.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

該網段也有可能與,已有網段重複,若要修改此網段,可按以下步驟進行。安全停掉全部用docker-compose編排的容器,這裏建議使用docker-compose down來完全停掉容器,並自動幫你移除docker-compose以前建立的網橋。以後修改docker-compose.yml文件,增長自定義網絡段,以下所示。json

version: '2.1'
services:
  test-service:
    image: xxx
    container_name: xxxxx
    restart: always
    networks:
      - as4k-test

networks:
  as4k-test:
    ipam:
      config:
        - subnet: 172.16.238.0/24
          gateway: 172.16.238.1
  • 用新的docker-compose文件,啓動容器。

做者:阿勝4K 出處:http://www.javashuo.com/article/p-cqukcdvh-cv.html安全

相關文章
相關標籤/搜索