我的Dockerfile是
FROM node:4
RUN npm install -g yarn
WORKDIR /app
我运行docker run -d
并将当前工作目录挂载为卷。所有的dep都是由yarn
安装的。我有一个npm脚本来处理这些文件。
如果我执行docker exec -it [container] npm run lint
,它会像预期的那样工作,我可以看到所有的日志。但如果我执行docker exec -itd [container] npm run lint
,它会立即退出,这是意料之中的。但是我不能通过运行docker logs [container]
来查看日志。如何重新连接exec或仅查看日志?
我试过docker attach [container]
,它转到了nodejs的repl。为什么会这样呢?
发布于 2017-02-03 05:35:12
正如在"Docker look at the log of an exited container“中提到的,您可以使用docker logs
docker logs -t <container>
这将显示stdout/stderr (由于-t
选项而带有时间戳)。
对于这些日志的最后50行:
docker logs -t <container id> | tail -n 50
注意:只有当npm run lint由您的容器(docker run <image> npm run lint
)运行时,这才能起作用。
如果您的docker exec
立即退出,那么是的,容器本身将不会生成日志。
https://stackoverflow.com/questions/42017333
复制