我需要为我的 docker 容器启用 IPv4/IPv6 双栈支持。我的 docker compose 文件是版本 3。默认情况下启用 IPv4,但如何为我的 docker 容器/网络启用 IPv6?
我已经尝试通过更新 daemon.json 来更新 docker 守护进程,我知道更新正在被识别,因为如果文件中有错误,Docker 将不会启动。进行更改后,我重新启动了 Docker(不仅仅是我的容器),但我的容器仍然没有 IPv6 地址。
我发现enable_ipv6: truedocker compose 文件对版本 3 或更高版本无效,我不想按文件版本降级。
我更新的 daemon.json:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
Run Code Online (Sandbox Code Playgroud)
当我检查我的容器时,在对 daemon.json 进行更改后,使用 docker inspect {id} 我看到以下内容:
"NetworkSettings": {
"Bridge": "",
"SandboxID": "df737362d15722fc1b0501ac256ba371417fe513dede807f2a17bd0524630a31",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"9000/tcp": null
},
"SandboxKey": "/var/run/docker/netns/df737362d157",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0, …Run Code Online (Sandbox Code Playgroud)