创建守护式容器
除了交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。大多数时候我们都需要以守护式来运行我们的容器。我们这就启动应该守护式容器。
创建长期运行的容器
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_dave
docker 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镜像和仓库