web-dev-qa-db-ja.com

Dockerコンテナからpublicipv6DNSにpingを実行します

DockerコンテナはVPS(ubuntu 18.10)で実行されています。

私ができること:

ping -6 2001:4860:4860::8888ホストマシンから

ping -6 <docker container ipv6 addressホストマシンから

ping -6 <hosts ipv6 address>Dockerコンテナから

ping 8.8.8.8Dockerコンテナから

私ができないこと:

ping -6 2001:4860:4860::8888Dockerコンテナから

上記のコマンドを実行しても何も起こりません。最終的にコマンドを中止すると、次の出力が得られました。

4 packets transmitted, 0 received, 100% packet loss, time 62ms

Dockerコンテナにはipv6アドレスが割り当てられています。私がこれまでにしたこと:

$ip -6 route add 2001:db8:1::/64 dev docker0
$ sysctl net.ipv6.conf.default.forwarding=1
$ sysctl net.ipv6.conf.all.forwarding=1

さらに詳しい情報が必要な場合はお知らせください。

1
elp

さて、この回避策を使用して修正しました: https://github.com/robbertkl/docker-ipv6nat

  • 記事に記載されているように、ipv6サブネットをULA範囲に変更します。
  • Docker.serviceを再起動します
  • 両方の画像を実行する
1
elp