最終的には、純粋なIPv6ネットワークをcomposeまたはswarmモードで配備したいと考えています。今のところ、私はちょうど1つのコンテナにIPv6(唯一の)を配備したいと思っています。私は現在ルーティングに興味がありません(コンテナからコンテナへの接続のみ)。Docker Swarm ModeまたはDockerでIPv6コンテナを配備する方法
マイセットアップ:
- OS:CentOSに7
- dockerd --ipv6 --fixed-CIDR-V6 = 2001:DB8:1 ::/64 --iptables =真--ip- masq = true --mtu = 1600 --experimental = true
- ドッカー - エンジン - 17.05.0.ce-1.el7.centos.x86_64.rpm
- ホストにIPv4とIPv6アドレスがあります。フォワーディングは両方のためにオンです(それは重要ではありません)。
version: '3' networks: app_net: driver: overlay driver_opts: com.docker.network.enable_ipv6: "true" ipam: driver: default config: - subnet: 172.16.238.0/24 - subnet: 2001:3984:3989::/64 services: app: image: alpine command: sleep 600 networks: app_net: ipv4_address: 0.0.0.0 ipv6_address: 2001:3984:3989::10
結果:
私はすべての組み合わせ(私は唯一のカップルをリストアップしています)
自己完結型のドッカーコンテナとネットワークとのスタックであると思われるもの試してみました:コンテナ内のIPv4アドレス、0.0.0.0のみが無視されます。
外部で事前作成されたネットワーク
ドッカーネットワークは--ipv6 --subnet = 2001 --driverオーバーレイを作成(https://stackoverflow.com/a/39818953/1735931の通り):3984:3989 ::/64 --attachable ext_net
version: '3'
networks:
ext_net:
external:
name: ext_net
services:
app:
image: alpine
command: ifconfig eth0 0.0.0.0 ; sleep 600
cap_add:
- NET_ADMIN
networks:
ext_net:
ipv4_address: 0.0.0.0
ipv6_address: 2001:3984:3989::10
結果:コンテナ内のIPv4アドレスとIPv6アドレスの両方が無視されます(Swarmモードではサポートされていません)。したがって、上記のifconfig disable ipv4の試みは機能しません。
私は現在、ドッキング・コンパウンドをインストールしていないので、次にそれを試してみますが、は、ドッカー・スターン・モードで純粋なIPv6コンテナを実行する方法はありますか?
注:私は作曲/実行し、群れずに手動でいくつかのIPv6のみのコンテナを設定することができる午前: は
$ docker run --cap-add=NET_ADMIN --rm -it alpine
$$ ifconfig eth0 0.0.0.0
$$ ping6 other-container-ipv6-address # WORKS!
や速記(ネットワークを作成し、デフォルトの橋の上またはだけでも、使用など):
$ docker run --cap-add=NET_ADMIN --rm -it alpine sh -c "/sbin/ifconfig eth0 0.0.0.0 ; sh"