docker内部的Linux“脚本”命令未按预期写入文件

时间:2018-07-01 21:22:40

标签: linux bash ubuntu docker logging

我正在使用linux命令'script'将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

1 个答案:

答案 0 :(得分:0)

我没有在脚本中而是在docker-compose.yml的python容器内设置了一个env变量-PYTHONBUFFERED = 1。 然后docker logs -f将同时显示python脚本的所有日志和输出。这样就可以在文件中获得所有终端输出:)