Отключить IPv6 в контейнере Docker из Java
Мне нужно отключить IPv6 при запуске контейнера Docker из кода Java. Используя командную строку, это выглядит следующим образом:
docker run --sysctl net.ipv6.conf.all.disable_ipv6=1 ...
Можно ли сделать то же самое, но с использованием Java с docker-клиентом Spotify?
Как альтернативное решение... было бы возможно сделать с Docker-Java?
1 ответ
Пожалуйста, следите за этим -
final NetworkConfig networkConfig =
NetworkConfig.builder().name(networkName).driver("bridge").checkDuplicate(true).ipam(ipam)
.internal(false).enableIPv6(false).labels(labels)
.build();
Я думаю, что вы должны быть в состоянии сделать это с помощью нашего docker-java-api (подробнее об этом см. Вики и связанный блог): https://www.github.com/amihaiemil/docker-java-api
В принципе это должно быть так просто, как:
final Docker docker = new LocalDocker(...); //or new RemoteDocker(...);
final Container container = docker.containers().create(/*javax.json.JsonObject config*/);
Конечно, вы должны изучить документацию Docker API, чтобы увидеть, какой формат должен иметь JsonObject (он также должен принимать конфигурацию для IpV 6).