Technology and experience learned from THE DOCKER BOOK 4
创建守护式容器
除了交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。大多数时候我们都需要以守护式来运行我们的容器。我们这就启动应该守护式容器。
创建长期运行的容器
docker run --name daemon_dave -d ubuntu /bin/sh -c "while true;do echo hello zhoujiawei; sleep 1; done"我们在上面的docker run 命令使用了-d参数,因此Docker会将容器放到后台运行。
我们还在容器要运行的命令里使用了一个while循环,该循环会一直打印hell zhoujiawei,直到容器或其进程停止运行。

容器内部在干些什么
获取守护式容器的日志
docker logs daemon_davedocker logs -f daemon_dave可以一直追踪守护式容器的日志docker logs -ft daemon_dave可以一直追踪守护式容器的日志并加上时间戳
查看守护式容器的进程
docker top daemon_dave

停止守护式容器
如果需要停止守护式容器,只需执行docker stop命令docker stop daemon_dave 也可以使用id来替代容器名称
自动重启容器
如果由于某种错误而导致容器停止运行,还可以通过--Restart 标志 ,该标志会检查容器的退出代码,并决定是否要重启容器,默认的行为是Docker不会重启容器
docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true;do echo hello zhoujiawei; sleep 1; done"
在代码中,--restart被设置为always。无论容器的退出代码是什么,Docker都会自动重启该容器。标志被设为on-failure时,当容器的退出代码为非0值时才会自动重启。该参数还接收一个可选的重启次数参数--restart-on-failure:5
深入容器
除了通过docker ps命令获取容器的信息,还可以使用docker inspect来获得更多的容器信息
docker inspect daemon_dave

也可以使用-f或-format来选定查看结果docker inspect --format='{{ .State.Running }}' daemon_dave false

删除容器
- 如果容器不在使用 可以使用
docker rm命令来删除docker rm -f 5ae15487622d

- 删除所有容器
目前没有办法一次删除所有容器,用下面的小技巧可以删除全部容器docker rm 'sudo docker ps -a -q'将’符号替换为`
下一个博文 我们将学习 使用docker镜像和仓库
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: