Linux中docker下部署Minio启动提示权限不足,报错:
ERROR Unable to initialize backend: mkdir /data/.minio.sys: permission denied
出现的原因:
官方说明中,容器内部,minio使用的是1001的一个用户权限进行操作,
所以映射目录有会有权限不足的情况
解决方案:
1.对于启动命令或者docker-compose.yml中的操作
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.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”
2.对于映射目录的操作
把需要的目录都创建好,比如需要映射data和config目录:
/data/minio/data
/data/minio/config
包含子文件夹的授权 chown -R 1001:1001 /data/minio
注意: 一定要把文件夹都先创建好,不然容器启动后容器创建的用户组和权限都会是root,而不是1001,导致启动失败;