【Minio】Linux中Docker下Minio启动提示权限不足

ERROR Unable to initialize backend: mkdir /data/.minio.sys: permission denied

0 出现的原因:

官方说明中,容器内部,minio使用的是1001的一个用户权限进行操作,

所以映射目录有会有权限不足的情况

原文如下:

NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID 1001.

1 解决方案

1.1 对于启动命令或者docker-compose.yml中的操作

1.1.1 docker命令直接启动
docker run -d \
  --privileged=true \
  --restart=always \
  -e TZ=Asia/Shanghai \
  -e MINIO_ROOT_USER=XXX \
  -e MINIO_ROOT_PASSWORD=XXX \
  -p "9000:9000" \
  -p "9001:9001"  \
  -v "/data/minio/data:/data" \
  -v "/data/minio/config:/root/.minio"
  -name minio \
  bitnami/minio:2023.7.18
1.1.2 docker-compose.yml

version: '3'

services:
  minio:
    image: bitnami/minio:2023.7.18
    container_name: minio
    restart: always
    # 在docker-compose.yml中需要添加这个命令
    privileged: true
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - TZ=Asia/Shanghai
      - MINIO_ROOT_USER=XXX
      - MINIO_ROOT_PASSWORD=XXX
    volumes:
      - "/data/minio/data:/data"
      - "/data/minio/config:/root/.minio"

1.2 对于映射目录的操作

  1. 把需要的目录都创建好,比如需要映射data和config目录:
    1. /data/minio/data
    2. /data/minio/config
  2. 包含子文件夹的授权 chown -R 1001:1001 /data/minio

注意: 一定要把文件夹都先创建好,不然容器启动后容器创建的用户组和权限都会是root,而不是1001,导致启动失败;

你可能感兴趣的:(linux,docker,minio)