Dockerコンテナーでipv6を無効にする
Docker Hostでipv6を有効にしていますが、ipv6が問題を引き起こしているコンテナが1つあります。コマンドライン引数またはdockerfileディレクティブを使用して、ipv6サポートなしでコンテナーを起動する方法はありますか?
残念ながらありません:--ipv6
は、デーモン単位のフラグであり、コンテナごとに上書きすることはできません。
ちょっとトリッキーです。私がやったのと同じ問題がipでコンテナーを実行することでした:
docker run --name YourDockerContainer -p 192.168.99.100:80:80
これにより、このIPでコンテナーが開始されます:192.168.99.100
。
私のために働いた:
docker run -d -i -t --name Django_1.0 --sysctl
net.ipv6.conf.all.disable_ipv6=1 -p 192.168.20.148:8000:8000/tcp -p
192.168.20.148:8000:8000/udp -p 192.168.20.148:3000:3000/tcp -p
192.168.20.148:3000:3000/udp IMAGE_NAME
root:~# netstat -tlp | grep -i docker
tcp 0 0 ip-192-168-20-148.:8000 *:* LISTEN 4598/docker-proxy
tcp 0 0 ip-192-168-20-148.:3000 *:* LISTEN 4642/docker-proxy
--sysctl net.ipv6.conf.all.disable_ipv6=1
オプションを使用してdockerコマンドを実行しているときに、それでも失敗する場合は、次の引数を渡します。
--sysctl net.ipv6.conf.all.disable_ipv6=0