linux - 在 Docker 中写入日志时权限被拒绝
问题描述
我试图在 Ubuntu 20.04 上写一个 Docker 日志文件
sudo docker logs CONTAINER_ID >output.log
但它回来了
-bash: output.log: Permission denied
如何解决保存日志的权限问题?问题是在容器内部还是外部?
PS我有这个容器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
解决方案
您输入的命令首先以与您相同的方向创建output.log
文件,然后删除该文件中的日志;如果您使用以下命令,似乎问题已解决。
docker logs CONTAINER_ID > ~/output.log
此命令在您所在用户的根路径中创建一个日志文件。例如,如果您的用户名是USER1
在 /home/USER1 创建的文件
推荐阅读
- java - 未经授权的错误 401 返回内部服务器错误 500
- python - OpenCV imshow/waitkey 在没有错误的情况下挂起 Python
- stream - 如何在 Flutter(UI)中停止(或暂停或取消或处置)Stream.periodic()
- batch-file - 批处理文件卡住取决于....¿¿¿¿文件夹?
- javascript - 在 JavaScript 实例方法上调用 `super`
- android - HMS Map toolkit - 渲染地图的问题
- google-analytics - 谷歌分析到 Bigquery 同一个项目的两个视图
- flutter - 颤振聚合/将新项目添加到 PopupMenuButton 中的项目列表
- python - 找到 3 个数组之间的马氏距离?
- python - 致命的 Python 错误:无法获取文件系统编码的 Python 编解码器