我用码头供给器来对付瓦格兰特。他们在文档上说
除了拖动映像外,Docker提供程序还可以为您运行并启动容器。这使您可以自动启动服务,作为流浪者的一部分。
下面是我的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 halt和vagrant 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 发布于 2015-07-26 20:46:01
嗯,我没有找到为什么Vagrant在引导时不启动容器的原因,但是解决方法是使用Docker的重启策略。因此,我更新了我的Vagrantfile,删除了所有容器,并使用新的重新启动策略执行了vagrant provision来再次运行容器:
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=always 无论退出状态如何,始终重新启动容器。当您指定“始终”时,Docker守护进程将尝试无限期地重新启动容器。
现在,在vagrant halt之后,然后启动vagrant up容器。
https://stackoverflow.com/questions/31623916
复制相似问题