1、创建守护式容器
守护式容器(daemonized container)是可以长期运行的容器,没有交互式的会话,非常适合运行应用程序和服务,大多数时候我们都需要以守护式的方式来运行我们的容器。-d 参数表示后台运行。
docker run --name daemon_dave -d ubuntu /bin/sh -c "while true;do echo 'hello world';sleep 5;done"
执行之后,仅仅返回了一个ID,执行docker ps可以看到一个正在运行的容器。
2、查看容器内部在干什么,查看容器日志。
[root@VM-0-16-centos ~]# docker logs daemon_dave
hello world
hello world
这样输出的日志不是实时的,命令之后时间日志的不会再输出。如果要实时监控,可以使用-f参数。ctrl+c 退出当前的跟踪。
如果要跟踪最后10条,可以使用--tail;
docker logs --tail 10 daemon_dave
如果要加上时间戳,-t参数
[root@VM-0-16-centos ~]# docker logs --tail 10 -ft daemon_dave
2020-09-25T09:18:16.447215558Z hello world
2020-09-25T09:18:21.448231986Z hello world
2020-09-25T09:18:26.449124250Z hello world
2020-09-25T09:18:31.450088475Z hello world
2020-09-25T09:18:36.450996107Z hello world
3、docker支持的日志驱动
docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true;do echo 'hello world';sleep 5;done"
none 无日志
json-file 将日志写入json-file,默认值
syslog 将日志写入syslog,syslog必须在机器上启动
journald 将日志写入journald,journald必须在机器上启动
gelf 将日志写入GELF端点,如Graylog或Logstash
fluentd 将日志吸入fluentd,fluentd必须在机器上启动
awslogs 将日志写入亚马逊Cloudwatch
splunk 使用HTTP事件收集器将日志写入splunk
etwlogs 将日志消息作为windows时间跟踪。仅在windows平台可用
gcplogs 将日志写入Google云平台
nats 将日志发布到NATS服务器
4、查看守护式容器的进程
docker top
5、查看docker的统计信息
docker stats
[root@VM-0-16-centos ~]# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
116db8f4f780 daemon_dave 0.00% 180KiB / 1.795GiB 0.01% 656B / 0B 156kB / 0B 2