六、容器状态和依赖

2020-04-17  本文已影响0人  Judy警官

一、容器状态

容器有以下几种状态:


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容器关系来构建的。

上一篇 下一篇

猜你喜欢

热点阅读