Отключить IPv6 в контейнере Docker из Java

Мне нужно отключить IPv6 при запуске контейнера Docker из кода Java. Используя командную строку, это выглядит следующим образом:

docker run --sysctl net.ipv6.conf.all.disable_ipv6=1 ...

  • Можно ли сделать то же самое, но с использованием Java с docker-клиентом Spotify?

  • Как альтернативное решение... было бы возможно сделать с Docker-Java?

1 ответ

Пожалуйста, следите за этим -

https://github.com/spotify/docker-client/blob/2966b5cad6568d3c1b23f8891fbecab110834785/src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java

 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).

Другие вопросы по тегам