当我启动我的码头集装箱时,我对minio有一个问题--这是我的错误:
19:32:16.16 INFO ==> **启动MinIO安装**
/opt/bitnami/script/libmino.sh:第324行:/data/..root_user:权限被拒绝
在windows上,它可以工作,但在linux上不起作用。
这是我的停靠组合设置:
container_name: minio
image: "bitnami/minio:latest"
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ACCESS_KEY=${ACCESS_KEY}
- MINIO_SECRET_KEY=${SECRET_KEY}
- MINIO_DEFAULT_BUCKETS=${BUCKET}
volumes:
- ./docker-volumes/s3-data:/data
networks:
- proxy发布于 2022-05-22 12:21:02
问题所在
您正在绑定-将目录./docker-volumes/s3-data挂载到容器中。最初,这个目录不存在,所以Docker创建它--作为根目录。这意味着容器中的/data目录属于root。
不幸的是,容器minio作为用户1001运行,因此它没有足够的权限在/data中创建文件(或目录)。
解决方案1:码头卷
如果您使用的不是绑定-挂载主机目录,而是使用一个命名的停靠卷,如下所示:
version: "3"
services:
minio:
container_name: minio
image: "bitnami/minio:latest"
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ACCESS_KEY=${ACCESS_KEY}
- MINIO_SECRET_KEY=${SECRET_KEY}
- MINIO_DEFAULT_BUCKETS=${BUCKET}
volumes:
- minio_data:/data
volumes:
minio_data:然后,Docker将将卷的所有者和权限设置为要在其上挂载卷的目录的权限。在bitnami/minio图像中,/data如下所示:
[lars@docker work]$ docker run -it --rm bitnami/minio:latest ls -ld /data
[...]
drwxrwxr-x. 2 root root 6 May 22 00:55 /data也就是说,它是用户root和组root可以写的。minio容器以UID 1001和组root的形式运行,因此它能够写入该目录。
解决方案2:使用权限进行模糊处理
当然,您可以显式地预先创建docker-volumes/s3-data目录,然后将其设置为适当的userid:
sudo chown 1001 docker-volumes/s3-data但是通常情况下,除非有需要使用特定主机目录的原因,否则使用解决方案1中的命名Docker卷将更易于管理(因为您不需要事先知道容器userid,而且您的主目录中不会有非您用户拥有的文件)。
https://stackoverflow.com/questions/72332735
复制相似问题