将日志从 docker 容器发送到 Windows 主机

时间:2021-03-13 01:18:18

标签: python docker docker-compose containers

我看过其他有类似问题的帖子,但我找不到适合我的案例的解决方案。希望有人能帮忙。

事情是这样的:我有一个 python 脚本,它侦听 UDP 流量并将消息存储在日志文件中。我已将此脚本放在 docker 映像中,以便我可以在容器中运行它。

我需要将生成的日志(python脚本日志)FROM映射到容器内TO容器外的文件夹,在主机上(Windows 主机)。 如果我使用 docker-compose 一切正常!!但我找不到使用“docker run ...”命令使其工作的方法。

这是我的 docker-compose.yml 文件

version: '3.3'
services:

  '20001':
    image: udplistener
    container_name: '20001'
  ports:
    - 20001:20001/udp
  environment:
    - UDP_PORT=20001
    - BUFFER_SIZE=1024
  volumes:
    - ./UDPLogs/20001:/usr/src/app/logs

这里是对应的 docker run 命令:

docker run -d --name 20001 -e UDP_PORT=20001 -e BUFFER_SIZE=1024 -v "/C/Users/kgonzale/Desktop/UDPLogs/20001":/usr/src/app/logs -p 20001:20001 udplistener

我认为问题可能与我创建卷的方式有关,我知道是不同的(docker-compose -> 相对路径)(docker 命令 -> 绝对路径)但我找不到方法使用 docker run 命令时使用相对路径..

总结: python 脚本是在容器内创建日志,我想将这些日志映射到容器外。如果我使用“docker-compose up -d”,我可以在主机中看到日志,但我需要“docker run ... " 对应的命令。

  • 容器:python:3.7-alpine
  • 主机:Windows 10

预先感谢您的帮助!

0 个答案:

没有答案