Кукольный не показывает докер работает сервер - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь запустить кукольный контейнер.Я использую модуль докера puppetlabs.Все работает нормально, но команда запуска не работает, несмотря на то, что в журнале марионеток все в порядке и показывает выполнение.

==> default: Running Puppet with default.pp...
==> default: Notice: Compiled catalog for pustakalaya.vm.vm.local in environment production in 0.52 seconds
==> default: Notice: /Stage[main]/Pustakalaya::Installdocker/Exec[install docker]/returns: executed successfully
==> default: Notice: /Stage[main]/Docker::Repos/Apt::Source[docker]/Apt::Setting[list-docker]/File[/etc/apt/sources.list.d/docker.list]/content: content changed '{md5}c4955fdae0865aac860821ca9257f48b' to '{md5}395ee27d70d138f3f6bdf37acbbb5c4f'
==> default: Notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 1 event
==> default: Notice: /Stage[main]/Pustakalaya::Installdocker/Service[docker]: Triggered 'refresh' from 1 event
==> default: Notice: /Stage[main]/Pustakalaya::Run/Docker::Run[nginx]/Service[docker-nginx]/ensure: ensure changed 'stopped' to 'running'

Мой класс кукол

docker::run { 'nginx':
    image   => 'nginx:latest',
          detach  => true,
          ports => ['80:80'],
          command => "/bin/bash"
   }

РЕДАКТИРОВАТЬ решение

Согласно github.com/puppetlabs/puppetlabs-docker/issues/313 В ОС, использующей systemd, вам не нужен набор параметров detatch => true.Если вы удалите его, приведенный вами пример будет работать без проблем

1 Ответ

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

Контейнер живет до тех пор, пока вы выполняете команду.

В вашем случае он, скорее всего, выполняет неинтерактивный вызов для успешного bash и завершает работу с 0.

Чтобы сохранить работу контейнера, вы должны передать параметр --interactive в Docker. Глядя на документацию по кукольному докеру , кажется, что вы можете добавить extra_parameters => ['--interactive'], в ваш докер :: run.

...