首页 > 解决方案 > docker内的Linux“脚本”命令未按预期写入文件

问题描述

我正在使用 linux 命令“脚本”将终端输出从 docker 容器获取到文件中。运行“脚本”命令时,它会在退出“脚本”命令后将终端输出写入文件。

我需要该命令以正常行为工作,它连续写入文件,而不是最后写入所有终端输出。

帮助 !

这是 docker-compose.yml

version: '3'
services:
  job:
    build: .
    environment:
      - "PYTHONUNBUFFERED=1"
    command: script /scripts/terminal.out
    command: python /scripts/init.py
    volumes:
      - ./scripts:/scripts

这是 Dockerfile

FROM python:3
WORKDIR /scripts
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./scripts .
RUN exit

标签: linuxbashubuntudockerlogging

解决方案


我确实在 docker-compose.yml - PYTHONBUFFERED=1 的 python 容器中设置了一个环境变量,而不是脚本。然后 docker logs -f 也将显示 python 脚本的所有日志和输出。这样就给出了文件中的所有终端输出:)


推荐阅读