从Java禁用Docker容器中的IPv6



从Java代码启动Docker容器时,我需要禁用IPv6。使用命令行,如下所示:

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

  • 除了在Spotify的docker客户端上使用Java之外,还有可能做同样的事情吗?

  • 作为替代解决方案。。。有可能使用dockerjava吗?

我认为您应该能够使用我们的dockerjavaapi来做到这一点(有关详细信息,请参阅Wiki和链接的博客文章(: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应该具有什么格式(它也应该接受关于IpV6的配置(。

请遵循此-

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();

最新更新