使用 docker python 的不稳定标准输出



我有下一个 Dockerfile:

FROM ubuntu:16.04
ENV PYTHONIOENCODING=UTF-8
ENV PYTHONUNBUFFERED=1
ADD . /src
WORKDIR /src
ENTRYPOINT ["python3"]
CMD ["-u", "bot.py"]

此 dockerfile 与 docker-compose 一起使用:

version: '3'
services:
  something:
    build: .
    networks:
      - proxy
    volumes:
  - E:tmp:/src/tmp
ports:
  - "6881-6889:6881-6889/udp"
  - "6881-6889:6881-6889/tcp"
  - "6891:6891/udp"
  - "6891:6891/tcp"
  - "6771:6771/udp"
  - "6771:6771/tcp"
  - "4433-4434:4433-4434/udp"
  - "4433-4434:4433-4434/tcp"
  tor:
    image: "dperson/torproxy"
    networks:
      - proxy
networks:
  proxy:
    driver: bridge

我正在使用 Windows 10 上的 docker"版本 2.0.0.0-win81 (29211) 通道:稳定 内部版本:4271b9e":"docker-compose up -d"

在这个python脚本中有很多日志到stdout。此时,我正在使用这样的代码打印所有内容:"print("Exception: " + str(exp), flush=True)"

而且我几乎每次都无法获得任何打印有"docker 日志"的东西。有时我有部分输出(按正确的顺序)。大多数情况下,我什么都没有。为什么?

蟒蛇 3.5.2

附言对不起,冲洗一切和任何地方只是我的尝试,而不是规则。

我找到了问题的根本原因。我有 2 个相同脚本的实例。

最新更新