从Java禁用Docker容器中的IPv6

时间:2018-08-02 09:35:04

标签: java docker ipv6 docker-java spotify-docker-client

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

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

  • 是否可以执行相同的操作,但是将Java与Spotify的docker-client一起使用?

  • 作为替代解决方案...可以使用docker-java吗?

2 个答案:

答案 0 :(得分:0)

我认为您应该能够使用我们的docker-java-api做到这一点(有关详细信息,请参阅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应该采用的格式(它也应该接受有关IpV 6的配置)。

答案 1 :(得分:0)

请遵循此-

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