我们在实际的测试生产环境中,需要一个长期提供服务的容器,交互式容器虽然可以长时间提供服务,但是一旦退出交互会话,容器也随之退出。所以我们需要用一个退出交互会话还可以后台运行的容器,也就是守护式容器。
守护式容器:
长期运行
没有交互式的会话
适合运行应用程序和服务
本节内容:以守护形式运行交互式容器、启动守护式容器、查看容器的日志、查看容器内部进程、在运行的容器中启动新进程、停止容器
以守护形式运行交互式容器:
使用{ docker run --name=test -i -t ubuntu /bin/bash }命令运行一个名为test的交互式容器,然后按Ctrl+P和Ctrl+Q退出会话,容器在后台运行。
如果想恢复会话可以使用{ docker attach test }命令。
启动守护式容器:
格式为docker run -d IMAGE [COMMAND] [ARG...]
-d 在后台运行
例如{ docker run -d --name=test ubuntu /bin/sh -c "while true: do echo hello world; sleep 1; done" }
在后台运行一个 采用ubuntu镜像 名为test 运行一个每一秒中打印一次'hello world'的shell脚本的守护式容器
查看守护式容器的日志:
格式为docker logs [-f] [-t] [--tail] 容器名
-f --follows=true|false 默认为false 一直跟踪认知变化并且返回结果
-t --timestamps=true|false 默认为false 再返回的结果中加入时间戳
--tail 数字 默认为all 返回结尾处多少数量的日志
例如{ docker logs -f -t --tail 20 test } 显示最新的20条带有时间戳的日志信息,并且实时更新日志信息。
查看守护式容器内部进程:
格式为 docker top 容器名
例如{ docker top test }
在运行的容器中启动新进程:
格式为 docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
例如{ docker exec -d -i -t test /bin/bash } 在后台运行一个新的bash进程。使用top命令查看效果。
停止守护式容器:
1.docker stop 容器名 发送一个信号给容器,等待容器停止。
2.docker kill 容器名 强行停止容器。
网友评论