docker工人和ubuntu-upstart镜像没有启动容器

我正试图让烧杯与启用了Upstart的Dockerfile集成。 这是我当前的节点集:

HOSTS: ubuntu-server: roles: - master platform: ubuntu-14.04-x64 image: ubuntu-upstart:14.04 hypervisor: docker docker_cmd: '/sbin/init' docker_preserve_image: true docker_image_commands: - wget --no-check-certificate https://apt.puppetlabs.com/puppetlabs-release-trusty.deb - apt-get install -y wget ca-certificates - dpkg -i puppetlabs-release-trusty.deb - apt-get update - apt-get -y install puppet curl ntpdate git ruby - "sed --in-place=.bak 's/without-password/yes/' /etc/ssh/sshd_config" CONFIG: log_level: verbose type: foss 

问题是这个容器从来没有启动,如docker ps 。 烧杯也报道:

节点可用作ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected] -p 49204

 ubuntu-server 13:40:43$ dpkg -s curl Warning: Try 1 -- Host 0.0.0.0 unreachable: connection closed by remote host Warning: Trying again in 1 seconds Warning: Try 2 -- Host 0.0.0.0 unreachable: Connection refused - connect(2) for "0.0.0.0" port 49204 Warning: Trying again in 1 seconds Warning: Try 3 -- Host 0.0.0.0 unreachable: Connection refused - connect(2) for "0.0.0.0" port 49204 Warning: Trying again in 2 seconds 

如果我用以下docker_cmdreplacedocker_cmd

 docker_cmd: /usr/sbin/sshd -D 

然后,它的工作,但没有暴发户(反过来打破testing)。

我可以这样做: docker ps -a用命令: /bin/sh -c /sbin/init显示一些退出的容器

如何让烧杯荣幸docker_cmd而不是在/bin/sh下运行/sbin/init

在你的Gemfile中,使用这个:

 gem 'beaker', github: 'puppetlabs/beaker', branch: 'master' 

他们解决了这个问题。

我通过replace解决了这个问题

 docker_cmd: '/sbin/init' 

 docker_cmd: ['/sbin/init']