0
dockerのコンテナにpublicPortとprivatePortを設定できません。 私はjavaの https://github.com/spotify/docker-clientdocker-client for javaのコンテナのポートを設定します
するためのJavaライブラリdocker-client
とのドッキングウィンドウコンテナを作成し、私はすでにローカル「mobillogix /セレン・クロムを」ドッキングウィンドウの画像を作成していました。
DockerClient docker = DefaultDockerClient.fromEnv()。build();ポート
4444/TCP、5900/TCP
で
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6beec961dfcf mobillogix/selenium-chrome "/opt/bin/entry_point" 4 seconds ago Up 2 seconds 4444/tcp, 5900/tcp elegant_kare
が、私はポートとコンテナを作成したい:
// Bind container ports to host ports
final String[] ports = {"44444", "59004"};
final String[] ports1 = {"4444", "5900"};
final Map<String, List<PortBinding>> portBindings = new HashMap<String, List<PortBinding>>();
for (String port : ports) {
List<PortBinding> hostPorts = new ArrayList<PortBinding>();
hostPorts.add(PortBinding.of("0.0.0.0", port));
portBindings.put(port, hostPorts);
}
final HostConfig hostConfig = HostConfig.builder().portBindings(portBindings).build();
final ContainerConfig containerConfig = ContainerConfig.builder()
.hostConfig(hostConfig)
.image("mobillogix/selenium-chrome").exposedPorts(ports1)
.build();
final ContainerCreation creation = docker.createContainer(containerConfig);
final String id = creation.id();
// Start container
docker.startContainer(id);
final List<Container> containers = docker.listContainers();
webDriver();
// Kill container
docker.killContainer(id);
// Remove container
docker.removeContainer(id);
このコードは、コンテナを作成
0.0.0.0:44444->4444/tcp、0.0.0.0:59004->5900/tc