首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拒绝Minio许可

拒绝Minio许可
EN

Stack Overflow用户
提问于 2022-05-21 19:43:42
回答 1查看 4.2K关注 0票数 -1

当我启动我的码头集装箱时,我对minio有一个问题--这是我的错误:

19:32:16.16 INFO ==> **启动MinIO安装**

/opt/bitnami/script/libmino.sh:第324行:/data/..root_user:权限被拒绝

在windows上,它可以工作,但在linux上不起作用。

这是我的停靠组合设置:

代码语言:javascript
运行
复制
        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
EN

回答 1

Stack Overflow用户

发布于 2022-05-22 12:21:02

问题所在

您正在绑定-将目录./docker-volumes/s3-data挂载到容器中。最初,这个目录不存在,所以Docker创建它--作为根目录。这意味着容器中的/data目录属于root。

不幸的是,容器minio作为用户1001运行,因此它没有足够的权限在/data中创建文件(或目录)。

解决方案1:码头卷

如果您使用的不是绑定-挂载主机目录,而是使用一个命名的停靠卷,如下所示:

代码语言:javascript
运行
复制
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如下所示:

代码语言:javascript
运行
复制
[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:

代码语言:javascript
运行
复制
sudo chown 1001 docker-volumes/s3-data

但是通常情况下,除非有需要使用特定主机目录的原因,否则使用解决方案1中的命名Docker卷将更易于管理(因为您不需要事先知道容器userid,而且您的主目录中不会有非您用户拥有的文件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72332735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档