web-dev-qa-db-ja.com

Dockerコンテナーでipv6を無効にする

Docker Hostでipv6を有効にしていますが、ipv6が問題を引き起こしているコンテナが1つあります。コマンドライン引数またはdockerfileディレクティブを使用して、ipv6サポートなしでコンテナーを起動する方法はありますか?

9
Sergei Rodionov

残念ながらありません:--ipv6は、デーモン単位のフラグであり、コンテナごとに上書きすることはできません。

3
icecrime

2つのオプション:

  1. --dns-opt='options single-request'でdockerを実行します。 docs を参照
  2. --sysctl net.ipv6.conf.all.disable_ipv6=1で実行します。議論を参照してください ここ
7
d3ming

ちょっとトリッキーです。私がやったのと同じ問題がipでコンテナーを実行することでした:

docker run --name YourDockerContainer -p 192.168.99.100:80:80

これにより、このIPでコンテナーが開始されます:192.168.99.100

5
tokhi

私のために働いた:

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
1
Rodrigo Marins

--sysctl net.ipv6.conf.all.disable_ipv6=1オプションを使用してdockerコマンドを実行しているときに、それでも失敗する場合は、次の引数を渡します。

--sysctl net.ipv6.conf.all.disable_ipv6=0

0
rishi shah