Мне нужно включить поддержку двух стеков IPv4 / IPv6 для моих док-контейнеров. Мой составной файл Docker версии 3. По умолчанию IPv4 включен, но как мне включить IPv6 для моих Docker-контейнеров / сети?
Я уже пытался обновить демон docker, обновив daemon.json, и я знаю, что обновления распознаются, потому что Docker не запустится, если в файле есть ошибки. Я перезапустил Docker (не только мои контейнеры) после внесения изменений, но все еще не указал IPv6-адреса для моих контейнеров.
Я обнаружил, что enable_ipv6: true
в файле составления Docker недопустим для версии 3 или выше, и я не хотел бы понижать версию до версии файла.
Мой обновленный daemon.json:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
Когда я проверяю свои контейнеры, после внесения изменений в 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,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"healixportal_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"php-fpm",
"9b8a7aee156b"
],
"NetworkID": "5523ae0a4a936b47f212f0e301b64cbbad1f279a33107ed1f624e28d2df96c66",
"EndpointID": "880e13b64bec3fc84ae5a0abb5054bda66d5f439da6853f3538eb33be14b256b",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
}
}
}
Таким образом, моему контейнеру еще не присвоен адрес IPv6 ...