Docker-Java: запуск контейнера с аргументами - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь запустить докер-контейнер, используя docker-java. Использование метода DockerClient.startContainerCmd работает для меня, но мне нужно запустить контейнер с аргументами. Класс StartContainerCmd, возвращаемый этим методом, не имеет методов для предоставления аргументов до того, как я его выполню.

Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Должно работать легко с https://www.github.com/amihaiemil/docker-java-api:

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

JsonObject, передаваемый в Containers.create (...), должен быть тем, который API-интерфейс Docker ожидает в качестве входных данных (см. API-документы). В этом JsonObject вы также должны иметь возможность указывать сценарии запуска.

0 голосов
/ 25 июня 2018

StartContainerCmd делегирует StartContainerCmdExec, что абстрагирует операцию Start Container REST . Операция имеет только один параметр пути (id контейнера). Если вам нужно предоставить дополнительные аргументы, вам нужно создать контейнер с этими аргументами:

CreateContainerResponse container = dockerClient.createContainerCmd(IMAGE_NAME)
                .withCmd("cmd", "arg1", "arg2").exec()

получите id контейнера и затем запустите его:

dockerClient.startContainerCmd(container.getId()).exec();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...