Skip to content

Instantly share code, notes, and snippets.

@mapk0y
Last active August 29, 2015 14:27
Show Gist options
  • Select an option

  • Save mapk0y/5809981fcf3ace2d8960 to your computer and use it in GitHub Desktop.

Select an option

Save mapk0y/5809981fcf3ace2d8960 to your computer and use it in GitHub Desktop.
sid マシン起動時に docker0 へ IPAddress が付与されないお話 (2015/08/23)

経緯

確認環境

  1. vagrant 上で jessie をインストール
  2. tasksel install gnome-desktop --new-install して gnome をインストール
  3. build-essential や linux-headers あたりをインストール
  4. source.list を変更し、apt-get update 後に、apt-get upgrade して apt-get dist-upgrade
  5. 4 で initramfs-tools のスクリプトでコケるが/usr/share/initramfs-tools/hooks/udev 内での cp -pcp -ap に変更
  6. 再起動で upgrade されていることを確認
  7. apt-get install docker.io した後、docker を一度停止して、オリジナルを mv /usr/bin/docker{,.org} でバックアップ
  8. wget https://get.docker.com/builds/Linux/x86_64/docker-1.8.1 -O /usr/bin/docker-1.8.1 で新しい docker を取得
  9. chmod +x /usr/bin/docker-1.8.1ln -snvf /usr/bin/docker-1.8.1 /usr/bin/docker してから、docker を起動
  10. サーバを再起動

gnome を sid にした後に入れると依存関係が conflict(libilmbase6 と libilmbase6v5) して辛いので jessie の段階で install した。(8/23現在)

状態

root@sid:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:18:28:8d brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 85775sec preferred_lft 85775sec
    inet6 fe80::a00:27ff:fe18:288d/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0@NONE: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default 
    link/ether 02:42:b2:0a:ea:83 brd ff:ff:ff:ff:ff:ff

docker0(bridge) に ip が付与されていない。

docker のログ(debug)

Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.849242127Z" level=debug msg="Setting bridge mac address to 02:42:b2:0a:ea:83"
Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.849421137Z" level=debug msg="Creating bridge interface \"docker0\" with network 172.17.42.1/16"

docker としては、bridge の作成も ip の付与も正常にできていると認識している模様

docker 以外のログも含めた対象時間のログ

Aug 23 10:16:33 sid kernel: IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.849242127Z" level=debug msg="Setting bridge mac address to 02:42:b2:0a:ea:83"
Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.849421137Z" level=debug msg="Creating bridge interface \"docker0\" with network 172.17.42.1/16"
Aug 23 10:16:33 sid avahi-daemon[496]: Joining mDNS multicast group on interface docker0.IPv4 with address 172.17.42.1.
Aug 23 10:16:33 sid avahi-daemon[496]: New relevant interface docker0.IPv4 for mDNS.
Aug 23 10:16:33 sid avahi-daemon[496]: Registering new address record for 172.17.42.1 on docker0.IPv4.
Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.852979922Z" level=debug msg="/sbin/iptables, [--wait -t nat -C POSTROUTING -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE]"
Aug 23 10:16:33 sid NetworkManager[476]: <info>  (docker0): new Bridge device (carrier: OFF, driver: 'bridge', ifindex: 3)
Aug 23 10:16:33 sid docker[500]: time="2015-08-23T10:16:33.870131254Z" level=debug msg="/sbin/iptables, [--wait -t nat -I POSTROUTING -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE]"
Aug 23 10:16:33 sid kernel: IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
Aug 23 10:16:33 sid NetworkManager[476]: <info>  devices added (path: /sys/devices/virtual/net/docker0, iface: docker0)
Aug 23 10:16:33 sid NetworkManager[476]: <info>  device added (path: /sys/devices/virtual/net/docker0, iface: docker0): no ifupdown configuration found.
Aug 23 10:16:33 sid NetworkManager[476]: <info>  (docker0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
Aug 23 10:16:33 sid avahi-daemon[496]: Withdrawing address record for 172.17.42.1 on docker0.
Aug 23 10:16:33 sid avahi-daemon[496]: Leaving mDNS multicast group on interface docker0.IPv4 with address 172.17.42.1.
Aug 23 10:16:33 sid avahi-daemon[496]: Interface docker0.IPv4 no longer relevant for mDNS.
Aug 23 10:16:33 sid NetworkManager[476]: <info>  (docker0): device state change: unavailable -> disconnected (reason 'none') [20 30 0]
Aug 23 10:16:33 sid kernel: IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready

Network Manager が悪いっぽい?ので NetworkManager please, stay away from my docker0 « Va una spada! を参考に docker0 を管理対象から外す。

diff --git a/NetworkManager/NetworkManager.conf b/NetworkManager/NetworkManager.conf
index d8b33d9..cea0097 100644
--- a/NetworkManager/NetworkManager.conf
+++ b/NetworkManager/NetworkManager.conf
@@ -3,3 +3,6 @@ plugins=ifupdown,keyfile
 
 [ifupdown]
 managed=false
+
+[keyfile]
+unmanaged-devices=interface-name:docker0

再起動して確認

root@sid:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:18:28:8d brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 86345sec preferred_lft 86345sec
    inet6 fe80::a00:27ff:fe18:288d/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0@NONE: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default 
    link/ether 02:42:e1:5c:40:09 brd ff:ff:ff:ff:ff:ff
    inet 172.17.42.1/16 scope global docker0
       valid_lft forever preferred_lft forever
Aug 23 10:43:12 sid docker[523]: time="2015-08-23T10:43:12.740960800Z" level=debug msg="Setting bridge mac address to 02:42:e1:5c:40:09"
Aug 23 10:43:12 sid docker[523]: time="2015-08-23T10:43:12.741154695Z" level=debug msg="Creating bridge interface \"docker0\" with network 172.17.42.1/16"
Aug 23 10:43:12 sid docker[523]: time="2015-08-23T10:43:12.741290352Z" level=debug msg="/sbin/iptables, [--wait -t nat -C POSTROUTING -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE]"
Aug 23 10:43:12 sid avahi-daemon[460]: Joining mDNS multicast group on interface docker0.IPv4 with address 172.17.42.1.
Aug 23 10:43:12 sid avahi-daemon[460]: New relevant interface docker0.IPv4 for mDNS.
Aug 23 10:43:12 sid avahi-daemon[460]: Registering new address record for 172.17.42.1 on docker0.IPv4.
Aug 23 10:43:12 sid NetworkManager[434]: <info>  (docker0): new Bridge device (carrier: OFF, driver: 'bridge', ifindex: 3)
Aug 23 10:43:12 sid kernel: IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
Aug 23 10:43:12 sid docker[523]: time="2015-08-23T10:43:12.756023451Z" level=debug msg="/sbin/iptables, [--wait -t nat -I POSTROUTING -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE]"
Aug 23 10:43:12 sid NetworkManager[434]: <info>  devices added (path: /sys/devices/virtual/net/docker0, iface: docker0)
Aug 23 10:43:12 sid NetworkManager[434]: <info>  device added (path: /sys/devices/virtual/net/docker0, iface: docker0): no ifupdown configuration found.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment