You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu+AWS环境下配置Docker daemon同时日志到文件与journald

解决方案

要让systemd管理的Docker daemon同时将日志输出到journald和指定文件,只需修改systemd服务配置,使用journal+append:格式的输出目标即可,具体步骤如下:

  1. 创建Docker服务的自定义配置文件
    避免修改默认的docker.service文件,建议在/etc/systemd/system/docker.service.d/目录下创建一个override配置文件(如果目录不存在则先创建):

    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo nano /etc/systemd/system/docker.service.d/override.conf
    

    在文件中写入以下配置:

    [Service]
    StandardOutput=journal+append:/var/log/dockerd.log
    StandardError=journal+append:/var/log/dockerd.log
    

    这里的journal+append表示日志会同时发送到journald,并且追加写入指定的文件路径。

  2. 重载systemd配置并重启Docker
    让systemd加载新的配置,然后重启Docker服务使配置生效:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  3. 验证日志输出

    • 检查journald中的Docker日志:
      sudo journalctl -u docker --since "1 minute ago"
      
    • 检查文件中的日志:
      cat /var/log/dockerd.log
      

    确认两种方式都能看到Docker daemon的最新日志。

  4. 配置CloudWatch Logs Agent监控日志文件
    编辑CloudWatch Agent的配置文件/etc/awslogs/awslogs.conf,添加对dockerd.log的监控规则:

    [docker-daemon-log]
    file = /var/log/dockerd.log
    log_group_name = /aws/ec2/ubuntu/docker-daemon
    log_stream_name = {instance_id}/docker-daemon
    datetime_format = %Y-%m-%dT%H:%M:%S.%fZ
    

    保存后重启CloudWatch Agent:

    sudo systemctl restart awslogs
    

    这样日志文件的内容就会自动上传到指定的CloudWatch日志组中。

内容的提问来源于stack exchange,提问作者Nathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:18:12