stream浪汉和docker:容器开始从未离开“停止”状态

我跟随stream浪者指南使用docker,但我收到这个错误时启动vagrant:

Jons-MacBook-Pro:vagrant jonhaven$ vagrant up --provider=docker Bringing machine 'default' up with 'docker' provider... ==> default: Docker host is required. One will be created if necessary... default: Docker host VM is already ready. ==> default: Vagrant has noticed that the synced folder definitions have changed. ==> default: With Docker, these synced folder changes won't take effect until you ==> default: destroy the container and recreate it. ==> default: Starting container... ==> default: Waiting for container to enter "running" state... The container started either never left the "stopped" state or very quickly reverted to the "stopped" state. This is usually because the container didn't execute a command that kept it running, and usually indicates a misconfiguration. If you meant for this container to not remain running, please set the Docker provider configuration "remains_running" to "false": config.vm.provider "docker" do |d| d.remains_running = false end 

这是我的Dockerfile(和video中一样):

 Vagrant.configure("2") do |config| config.vm.provider "docker" do |d| d.image = "paintedfox/postgresql" end end 

有没有人见过这个? 我在OSX 10.9.4上使用Vagrant工作,否则,不与Docker。

编辑:

我遵循给出的build议,并validation我可以通过docker运行我的docker镜像。 我的工作docker命令是这样的:

docker run -p 8888:8888 -d天堂/ play / opt / activator / activator ui -Dhttp.address = 0.0.0.0

然而,无论我在stream浪者中使用的create_args或cmd选项的组合如何,我都无法通过vagrant启动。 要清楚的是,问题不是港口,但docker集装箱将不会保持运行。

Docker将停止,如果没有保持标准的东西出去。

看起来像paintedfox / postgresql CMD是[“/ sbin / my_init”]我认为这是一个非守护进程的命令,是为了保持容器运行,这将意味着它的错误退出。 我会尝试通过手动运行docker进行debugging:

 docker run -i -t paintedfox/postgresql /bin/bash 

然后尝试运行该命令:

 /sbin/my_init 

并查看它是否退出并出现错误。 如果你在一个stream浪汉里运行docker,你将首先必须通过SSH进入stream浪者

 vagrant ssh