在 Docker 中写入日志时权限被拒绝
Permission denied when writing logs in Docker
我试图通过
在 Ubuntu 20.04 上写一个 Docker 日志文件
sudo docker logs CONTAINER_ID >output.log
但是它返回了
-bash: output.log: Permission denied
如何解决保存日志的权限问题?问题是容器内部还是外部?
P.S。我通过 docker run -d -v ~/desktop/usercode/Docker:/code -p 5000:5000 flask_app:1.0
获得了这个容器,Docker 文件如下:
## 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
您输入的命令首先在与您相同的方向上创建output.log
文件,然后在该文件中删除日志;使用下面的命令好像问题就解决了
docker logs CONTAINER_ID > ~/output.log
此命令会在您所在用户的根路径中创建一个日志文件。例如,如果您的用户名是 USER1
,则该文件创建于 /home/USER1
我试图通过
在 Ubuntu 20.04 上写一个 Docker 日志文件sudo docker logs CONTAINER_ID >output.log
但是它返回了
-bash: output.log: Permission denied
如何解决保存日志的权限问题?问题是容器内部还是外部?
P.S。我通过 docker run -d -v ~/desktop/usercode/Docker:/code -p 5000:5000 flask_app:1.0
获得了这个容器,Docker 文件如下:
## 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
您输入的命令首先在与您相同的方向上创建output.log
文件,然后在该文件中删除日志;使用下面的命令好像问题就解决了
docker logs CONTAINER_ID > ~/output.log
此命令会在您所在用户的根路径中创建一个日志文件。例如,如果您的用户名是 USER1
,则该文件创建于 /home/USER1