Estou tentando isso:
No host físico com o Ubuntu 14.04 (gateway do contêiner para IPv6 e IPv4), tentei:
root@docker-srv-1:~# ip -6 a a 2804:XXX:4:acbd::1/64 dev docker0
É claro que o host docker-srv-1 pode "ping6 google.com" e a sub-rede 2804: XXX: 4: abcd :: / 64 é roteada para ele. Eu posso "ping6 2804: XXX: 4: acbd :: 1" de qualquer lugar é o mundo (gateway IPv6 do Container (interface docker0)) agora.
Mais tarde, estou planejando executar o radvd diretamente na interface docker0, portanto, os contêineres gerarão automaticamente seu próprio endereço IPv6 do SLAAC automaticamente (acredito que, se funcionar estaticamente primeiro).
root@docker-srv-1:~# docker.io run -t -i tmartinx/ubuntu-14.04-server-cloudimg /bin/bash
Mas, dentro do contêiner:
root@112c9071041a:/# ip -6 a a 2804:XXX:4:acbd::20/64 dev eth0
RTNETLINK answers: Operation not permitted
Eu também tentei:
root@docker-srv-1:~# docker.io run --lxc-conf="lxc.network.ipv6=2804:XXX:4:acbd::20/64" --lxc-conf="lxc.network.ipv6.gateway=2804:XXX:4:acbd::1" -d -e lxc -t -i tmartinx/ubuntu-14.04-server-cloudimg /bin/bash
235d2bea7d9b4cc54d08c6eb9e623e5655ac4e1668a9a7e255e796d254ce4845
2014/04/22 00:50:08 Error: Cannot start container 235d2bea7d9b4cc54d08c6eb9e623e5655ac4e1668a9a7e255e796d254ce4845: lxc.network.ipv6 = 2804:XXX:4:acbd::20/64 is not supported by the native driver
Encontrei algumas dicas aqui: link - Mas não funcionou. ..: '(
Eu também tentei o docker.io com "-d -e lxc", mas também não trabalhei com o IPv6 ...
Estou sentindo falta de algo?!
EDITADO # 1:
Agora estou executando o docker.io com --privileged, desta forma:
docker.io run --privileged -t -i tmartinx/ubuntu-14.04-server-cloudimg /bin/bash
Então, eu posso rodar "ip -6a a $ IPV6_ADDR" MAS, ainda não consigo pingar6 seu gateway (localmente acessível docker0 int - IPv4 funciona) e, é claro, sem conectividade IPv6 ...
Fonte:
endereço IPV6 link
EDITADO # 2:
Depois de pesquisar um pouco mais, eu fiz:
sudo apt-get install lxc
Adicionada a /etc/default/docker.io a seguinte linha:
DOCKER_OPTS="-d -e lxc"
Docker reiniciado, mas ainda sem IPv6 ... Enfim, a mensagem de erro agora é diferente, veja:
root@docker-srv-1:~# docker.io run --lxc-conf="lxc.network.ipv6=2804:XXX:4:acbd::20/64" --lxc-conf="lxc.network.ipv6.gateway=2804:XXX:4:acbd::1" -t -i tmartinx/ubuntu-14.04-server-cloudimg /bin/bash
lxc-start: Cannot add ipv6 gateway for eth0 when not bringing up the interface
lxc-start: failed to setup netdev
lxc-start: failed to setup the network for '5c7d1765a7a93bff96711865ebd9325b9b9bf071e89c466fe1ae75a336af10f8'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn '5c7d1765a7a93bff96711865ebd9325b9b9bf071e89c466fe1ae75a336af10f8'
2014/04/22 04:58:25 Error: Cannot start container 5c7d1765a7a93bff96711865ebd9325b9b9bf071e89c466fe1ae75a336af10f8: exit status 1
EDITADO # 3
O Docker com IPv6 está funcionando agora !!! O que eu fiz?
Após instalar lxc
(EDITED # 2) e reconfigurar DOCKER_OPTS para habilitá-lo, o Docker com IPv6 está trabalhando com o seguinte comando:
docker.io run --privileged --lxc-conf="lxc.network.ipv6 = 2804:XXX:4:acbd::200/64" --lxc-conf="lxc.network.ipv6.gateway = 2804:XXX:4:acbd::1" --lxc-conf="lxc.network.flags = up" -t -i tmartinx/ubuntu-14.04-server-cloudimg /bin/bash
Se alguém tiver uma solução melhor, poste-a!
Obrigado!
Thiago
Tags networking 14.04 ipv6 docker