一、记录容器日志

将容器日志记录到syslog

  • 打开一个终端窗口实时监控
tail -f /var/log/messages

在这里插入图片描述

  • 打开另一个终端窗口,将容器Redis的日志记录到syslog日志系统
 docker run --rm -d --log-driver syslog --name redis redis

在这里插入图片描述

  • 返回第一个终端窗口,查看输出日志信息
    在这里插入图片描述
  • 停止并自动删除容器
docker stop redis

二、将容器的日志记录到journald

  • 创建名为redis的容器
docker run --rm -d --log-driver journald --name redis redis

在这里插入图片描述

  • 使用journalctl命令查看该容器日志信息
    CONTAINER_NAME用来指定容器名称
journalctl CONTAINER_NAME=redis

在这里插入图片描述
:q退出

三、配置管理Docker守护进程

(1)从Docker守护进程获取实时事件

  • 在一个窗口执行以下命令监听事件
docker events

在这里插入图片描述

  • 打开另一个窗口,启动容器然后终止容器
docker create --name test alpine:latest top
docker start test
docker stop test

在这里插入图片描述

  • 切换到另一个窗口查看监控
    在这里插入图片描述
    Ctrl+C退出

(2)查看docker守护进程日志

journalctl -u docker.service

在这里插入图片描述

(3)测试docker的实时恢复功能

  • 编辑 Docker 守护进程配置文件/etc/docker/daemon. json,启用实时恢复功能。在该文件中添加以下内容 “live-restore”: true
vi /etc/docker/daemon.json

在这里插入图片描述

  • 重启docker守护进程
systemctl restart docker
docker info

出现一下配置表明已启用实时恢复功能
在这里插入图片描述

  • 基于 httpd 镜像创建一个运行 Apache 服务容器,然后查看正在运行的容器
docker run --rm -d --name web1 -p 8080:80 httpd

在这里插入图片描述

  • 重新加载 Docker守护进程,然后查看正在运行的容器
systemctl reload docker

在这里插入图片描述

  • 使用 kill 命令结束 dockerd 守护进程,然后查看正在运行的容器
kill -SIGHUP $(pidof dockerd)

在这里插入图片描述
容器还在运行

  • 访问该容器提供的 Apache 服务,结果表示该服务正常
curl http://127.0.0.1:8080

在这里插入图片描述

  • 停止容器
docker stop web1

在这里插入图片描述

(4)开启Docker守护进程的远程连接

  • 编辑override文件
 systemctl edit docker.service

添加以下内容:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
  • 执行以下命令重新加载systemctl 配置
systemctl daemon-reload
  • 重启Docker
systemctl restart docker.service
  • 查看Docker守护进程是否在所配置的端口上监听
yum -y install net-tools
netstat -lntp | grep dockerd

在这里插入图片描述

  • 可以在 Docker 客户端命令中通过-H选项指定要连接的远程主机(如果远程主机启用了防火墙,则应开放 TCP2375 端口),例如:
docker -H tcp://主机地址:2375 info

四、谢谢观看!

更多推荐