Что эквивалентно удаленной команде API для 'docker run -d'?

Я пытаюсь вызывать команды Docker через удаленный API.

Кажется, что в удаленном интерфейсе Docker нет опции "Режим отсоединения". http://docs.docker.io/en/latest/commandline/command/run/

Я мог бы использовать это приложение в Bash, и я хотел бы использовать это через удаленный API. https://github.com/grigio/docker-stringer

3 ответа

Решение

Действительно, удаленный API не имеет режима "отсоединения", поскольку режим "присоединения" является дополнительной конечной точкой.

Если вы хотите работать в режиме отсоединения с удаленным API, просто создайте и запустите свой контейнер, не подключая его.

Если контейнер все еще закрывается немедленно, используйте docker logs <container id> проверить на ошибки. Проблема может не иметь ничего общего с detach,

Важно понимать, что команда "docker run" инкапсулирует серию команд с точки зрения API:

  • тянуть изображение (если не доступно локально)
  • создать контейнер
  • прикрепить к контейнеру
  • запускает контейнер

Хотя "docker run -d" - то же самое, что и выше, но без шага "присоединить".

Поэтому вам нужно создать и запустить контейнер при использовании удаленного API.

Если контейнер все еще закрывается немедленно, используйте docker logs <container id> проверить на ошибки. Проблема может не иметь ничего общего с detach,

Насколько я могу судить, удаленный эквивалент API -i Опция CLI "OpenStdin": true в призыве к /containers/create, Без этого кажется, что все, что читает от stdin, получает EOT,

Здесь stdin инициализируется (или не инициализируется) как канал к контейнеру, я не отслеживал его за этим.

Другие вопросы по тегам