Vagrant泊坞窗configuration器在启动时不启动容器

我使用Docker Provisioner作为Vagrant。 他们在文件中说:

除了提取图片之外,Dockerconfiguration器还可以为您运行和启动容器。 这可以让你自动启动服务作为stream浪的一部分。

这是我的Vagrantfile的一部分:

config.vm.provision "docker" do |d| d.run "jwilder/nginx-proxy", args: "-v /var/run/docker.sock:/tmp/docker.sock:ro -v /vagrant/certs:/etc/nginx/certs -p 80:80 -p 443:443" d.run "redis", args: "-v /vagrant/data:/data" ... end 

但是在vagrant haltvagrant up我的容器被停止了。

 $vagrant@vagrant-ubuntu-trusty-64:~$ docker ps -a CONTAINER ID .. STATUS .. NAMES 6bb965d1a7b9 Exited (137) 2 days ago redis 7f45214f6f06 Exited (2) 2 days ago jwilder-nginx-proxy 

那么,我没有find为什么Vagrant不启动容器的原因,但是解决方法是使用Docker的重启策略 。 所以,我更新了我的Vagrant文​​件,删除了所有的容器,并且通过新的重启策略来重新运行容器:

 config.vm.provision "docker" do |d| d.run "jwilder/nginx-proxy", args: "--restart=always -v /var/run/docker.sock:/tmp/docker.sock:ro -v /vagrant/certs:/etc/nginx/certs -p 80:80 -p 443:443" d.run "redis", args: "--restart=always -v /vagrant/data:/data" ... end 

–restart =始终

无论退出状态如何,始终重新启动容器。 当你总是指定的时候,Docker守护进程会尝试无限期地重启容器。

现在在vagrant halt之后,开始vagrant up容器。