Disable IPv6 in Docker container from Java

2.6k Views Asked by At

I need to disable IPv6 when starting a Docker container from Java code. Using the command line, it is as follows:

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

  • Is it possible to do the same but using Java with Spotify's docker-client?

  • As alternative solution... would it be possible to do with docker-java?

2

There are 2 best solutions below

0
On

I think you should be able to do that with our docker-java-api (see Wiki and the linked blog post for details about it): https://www.github.com/amihaiemil/docker-java-api

In principle, it should be as simple as:

final Docker docker = new LocalDocker(...); //or new RemoteDocker(...);
final Container container = docker.containers().create(/*javax.json.JsonObject config*/);

Of course, you have to study the Docker API documentation in order to see what format the JsonObject should have (it should accept config about IpV 6 as well).

0
On

Please follow this -

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