node.js - 终端进度条未显示在 Docker 控制台中。
问题描述
我试图包括一个 npm 的终端进度条,以更好地可视化一个漫长的过程是如何进行的。当我从标准的“node index.js”运行它时,它会顺利运行,但是当从一个简单的 docker 映像运行时,没有任何内容发布到终端。我的 index.js 是这样写的:
const _cliProgress = require('cli-progress');
// create a new progress bar instance and use shades_classic theme
const bar1 = new _cliProgress.Bar({}, _cliProgress.Presets.shades_classic);
// start the progress bar with a total value of 200 and start value of 0
bar1.start(200, 0);
// update the current value in your application..
bar1.update(100);
// stop the progress bar
bar1.stop();
这是我的码头文件:
FROM node:latest
#create work directory
RUN mkdir -p /src
#establish the app folder as the work directory
WORKDIR /src
COPY package.json /src
COPY package-lock.json /src
RUN npm i
COPY . /src
CMD [ "node", "index.js" ]
终端不显示这些包中的任何内容,但确实显示正常的 console.logs。我尝试使用的其他包也存在此问题。
任何有关为什么这与预期结果不同的信息将不胜感激。谢谢。
解决方案
您必须运行带有--tty , -t
标志的 docker,它将分配一个伪 TTY
docker run -t --rm test
您可以检查以下问题以获取有关该标志的更详细说明:
推荐阅读
- javascript - 如何使用 react-table 实现服务器端分页?
- backpressure - RSocket 如何向多个客户端发出租约?
- r - 如何将 NULL 值合并到 case_when?
- matlab - 如何计算6个元素的两个向量之间的距离?
- image - 如何在画布图像上放置圆角?
- scala - 无法解析重载的方法映射 Scala 2.10.12/Intellij 2019.2.2
- mongodb - 从 MongoDB 获取数据时程序卡住
- python - Python Networking Using Pickle -- 如何处理发送的不完整数据?
- javascript - 你怎么在这里退货
- java - 给定这张时间表,我如何判断时间复杂度?