小编Lea*_*ner的帖子

docker 无法使用非 root 用户在已安装的卷上写入

我有来自 nginx 映像的带有 myuser 的 Dockerfile,我想在已安装的位置安装日志,我正在使用 docker-compose 来启动容器。我的要求是仅使用非 root 用户并且不使用 sudo。

我的 dockerfile 与 myuser,我创建的图像标签是 mynginx:v1

RUN addgroup mygroup
RUN adduser myuser --disabled-password
USER myuser
Run Code Online (Sandbox Code Playgroud)

非工作 docker 将 mynginx 映像与 myuser 组合在一起

version: "2"
services:
  nginx:
    container_name: nginx
    image: mynginx:v1
    ports:
      - "8888:80"
    volumes:
      - ./log/nginx:/var/log/nginx
Run Code Online (Sandbox Code Playgroud)

尽管目录已挂载,但主机上看不到 nginx 日志文件 access.log 和 error.log。

Docker 日志如下:

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2021/04/09 12:46:08 [warn] 1#1: the "user" directive makes sense only if the …
Run Code Online (Sandbox Code Playgroud)

docker

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

docker ×1