选中内容(绿色)时除了会搜索文章名,还会搜索文章内容
点击结果中的文章名进入文章界面后可以按Ctrl+F在页面内搜索
  • 版权:CC BY-SA 4.0
  • 创建:2022-03-23
  • 更新:2022-03-23
docker 的虚拟网卡 docker0 没有了 ip 地址,导致 docker 无法使用网络


查看 docker bridge 的IP发现没有 IPv4 地址

  1. ifconfig
  2. docker0: flags=4355<UP,BROADCAST,PROMISC,MULTICAST> mtu 1500
  3. ether **:**:**:**:**:** txqueuelen 0 (Ethernet)
  4. RX packets 1219 bytes 36936 (36.9 KB)
  5. RX errors 0 dropped 0 overruns 0 frame 0
  6. TX packets 8544 bytes 4236914 (4.2 MB)
  7. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  8. ip addr
  9. docker0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue state DOWN group default
  10. link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff

临时解决方法

检查默认bridge配置,建议改成默认的172.17.0.1/16

  1. sudo vim /etc/docker/daemon.json
  2. "registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"],
  3. "bip":"172.17.0.1/16"
  • 临时解决方法: 手动增加一个 ip 配置

    1. > sudo ip addr add 172.17.0.1/16 dev docker0
    2. > ip addr
    3. docker0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue state DOWN group default
    4. link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    5. inet 172.17.0.1/16 scope global docker0
    6. valid_lft forever preferred_lft forever
  • 再使用 docker 就发现可以使用了

彻底解决方法

  • 前面的方法,如果重启 docker 服务发现 ip 又没了

以前是好好的,在一次同事添加多张网卡后就经常出问题, 应该是设置有错, 用systemctl看了下网络服务,同时有networkdNetworkManager,估计是 docker 创建 docker0 的时候用的是 systemd-networkd,后来被切换成NetworkManagerNetworkManager又没有docker0的配置信息导致的?于是:

既然用了 NetworkManager,那干脆就统一用它,去配置它吧,如果是用networkd,估计重启一下服务就好了(/etc/init.d/network restart)

nmcli工具查看接口信息,发现有接口但是没有建立连接:

  1. > nmcli device show docker0
  2. GENERAL.DEVICE: docker0
  3. GENERAL.TYPE: bridge
  4. GENERAL.HWADDR: 02:42:FA:22:9E:A6
  5. GENERAL.MTU: 1500
  6. GENERAL.STATE: 10 (unmanaged)
  7. GENERAL.CONNECTION: --
  8. GENERAL.CON-PATH: --
  9. IP6.GATEWAY: --

查看下连接信息,发现确实没有连接信息

  1. > nmcli connection show
  2. NAME UUID TYPE DEVICE
  3. Wired connection 1 ******** ethernet ens5

于是手动创建一条就好了

  1. > sudo nmcli connection add type bridge ifname docker0 con-name docker0 ip4 172.17.0.1/16 autoconnect true

ip addr就能看到ip信息了

文章有误?有想法想讨论?查看或者发起勘误/讨论 主题
(发起评论需要先登录 github)

/wallpaper/wallhaven-l8976q.jpg