在 Docker 中写入日志时权限被拒绝

时间:2021-07-13 17:06:47

标签: linux docker unix docker-container docker-logs

我试图在 Ubuntu 20.04 上写一个 Docker 日志文件

sudo docker logs CONTAINER_ID >output.log

但是它回来了

-bash: output.log: Permission denied

如何解决保存日志的权限问题?是容器内部的问题还是容器外部的问题?

附言我在 docker run -d -v ~/desktop/usercode/Docker:/code -p 5000:5000 flask_app:1.0 之前有这个容器,Dockerfile 如下:

## Base Python Image for App
FROM python:3.9-rc-buster


# Setting up Docker environment
# Setting Work directory for RUN CMD commands
WORKDIR /code
# Export env variables.
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
###


#Copy requirements file from current directory to file in
#containers code directory we have just created.
COPY requirements.txt requirements.txt

#Run and install all required modules in container
RUN pip3 install -r requirements.txt

#Copy current directory files to containers code directory
COPY . .

#RUN app.
CMD ["flask", "run"]

而且,图像是:

REPOSITORY   TAG             IMAGE ID       CREATED          SIZE
flask_app    1.0             90b2840f4d5d   29 minutes ago   895MB
python       3.9-rc-buster   50625b35cf42   9 months ago     884MB

1 个答案:

答案 0 :(得分:1)

您输入的命令首先在与您相同的方向创建 output.log 文件,然后删除该文件中的日志;使用下面的命令好像问题解决了。

 docker logs CONTAINER_ID > ~/output.log

此命令在您所在用户的根路径中创建一个日志文件。例如,如果您的用户名是 USER1,则该文件创建于 /home/USER1

相关问题