一、容器状态
容器有以下几种状态:
image.png
create创建后的状态为“已退出”,通过restart或者start命令可以使“已退出”状态变成“运行中”。“运行中”状态可以使用stop或者kill命令变成“已退出”。因为docker可以配置容器在宕机后自启动,自启动策略运行时,容器处于“重新启动中”,重启成功则转换为“运行中”,重启失败则转换为“已退出”。
根据之前的内容,我们现在可以这样来建立监控系统:
mailer_cid=$(docker run -d dockerinaction/ch2_mailer)
web_cid=$(docker create nginx)
agent_cid=$(docker create --link $mailer_cid:insidemailer --link $web_cid:insideweb dockerinaction/ch2_agent)
运行结果,使用ps命令查看:
image.png
可以看到,新建的容器mailer已经启动,状态为运行中(up),create的两个两个容器为created(已退出)。需要使用docker start命令启动created的容器。
docker start $agent_cid
docker start $web_cid
这时候会报错:
image.png
报错原因:
在启动agent_id的时候,它所依赖的容器web_id没有启动。
修改方式为先启动被依赖的容器:
docker start $web_cid
docker start $agent_cid
无论你使用docker run或docker create,由此产生的容器需要以其依赖关系链相反的顺序来启动。这意味着,循环依赖是不可能使用Docker容器关系来构建的。
网友评论