我是boot2docker的新手,在安装流程管理器时遇到一些问题。
我要设置的设置是使用vagrant来创建我的本地boot2docker开发机器并配置该VM内的容器。我正在使用的Vagrant框就是这个:yungsang/boot2docker
。
我已经设置了boot2docker VM来创建一个容器:
config.vm.provision :docker do |d|
d.pull_images "wkruse/eventstore"
d.run "eventstore",
image: "wkruse/eventstore",
args: "-p 1113:1113 -p 2113:2113 -v /data:/data",
cmd: "--ext-ip=0.0.0.0 --http-prefixes=\"http://*:2113/\" --run-projections=all"
end
除了在启动时没有启动容器之外,这很好用。有没有办法配置docker以便它在启动时启动所有容器,或者是否有一种简单的方法可以在boot2docker中安装像systemd这样的进程管理器来处理容器的启动?
更新
我改变了方法并使用了一个简单的脚本,但它不起作用:
docker run -d -p 2113:2113 -p 1113:1113 -v /data/eventstore:/data --restart=always --name eventstore wkruse/eventstore --ext-ip=0.0.0.0 --http-prefixes="http://*:2113/" --run-projections=all
我有另一个容器,我基本上做同样的事情,它就像一个魅力。我也试过--restart=on-failures:10
,但这也不起作用。
更新2
如果我删除-v /data/eventstore:/data
,则一切正常。我觉得有点奇怪。