linux - 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
解决方案
我确实在 docker-compose.yml - PYTHONBUFFERED=1 的 python 容器中设置了一个环境变量,而不是脚本。然后 docker logs -f 也将显示 python 脚本的所有日志和输出。这样就给出了文件中的所有终端输出:)
推荐阅读
- macos - 来自电子的通知显示 electron.app.Electron
- python - 获取列表中每个变量的名称并转换为字符串
- html - 即使在 HTML 中使用 required 属性后也无法对齐文本
- javascript - Bootstrap 5 选项卡内容未显示在 OwlCarousel2 项目中
- php - WordPress 如何对搜索到的 URL 进行编码
- mysql - 是否只有在where子句中有主键时才允许删除查询?
- javascript - 构建一个从 MongoDB 中提取数据的表,该表实时过滤并按字母顺序排序
- django - 如果我不在 django 中使用任何身份验证并使用带有手动哈希密码的 django 查询过滤器登录用户,我会错过什么
- android - 如何在 Flutter 和 Dart 中使用 DropDown 从另一个 Widget 更新一个 Widget?
- sql - Oracle APEX Application Builder:搜索特定员工并在硬编码文本字段中返回他们的姓名、薪水和部门