I am struggling to get IPv6 up and running in my Docker containers. Through a combination of reading this documentation, this documentation and on the surface it seems to be running, if I do
docker run -it alpine ash -c "ip -6 addr show dev eth0; ip -6 route show"
as mentioned in the first documentation page I linked I get:
92: eth0@if93: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 state UP
inet6 2001:470:<censored>::/64 scope global flags 02
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:a/64 scope link tentative
valid_lft forever preferred_lft forever
2001:470:<censored>::/64 dev eth0 metric 256
fe80::/64 dev eth0 metric 256
default via 2001:470:<censored>::1 dev eth0 metric 1024
ff00::/8 dev eth0 metric 256
Which means I have IPv6 addresses in my containers right? Well no. I still can’t access any containers via IPv6 and when do curl -s 6.ipquail.com/ip
in any of my containers I never get any output, whereas curl -s 4.ipquail.com/ip
shows my public IPv4 address as expected.
This is what I have in a Systemd dropin as trying to add this to the docker.json file causes Docker to fail to start:
ExecStart=
ExecStart=/usr/bin/dockerd --ipv6 --fixed-cidr-v6 "2001:470:<censored>::/64"
and I also ran sysctl net.ipv6.conf.eth0.accept_ra=2
. The IPv6 settings on my router show this: postimg,cc/mt2zQ3kq So am I entering the wrong value for fixed-cidr-v6
or is there something I am not doing?