1、问题描述
- centos下使用docker方式安装minio,运行时报错,报错详情为ERROR Unable to initialize backend: mkdir /data/.minio.sys: permission denied。
2、解决方案
- minio官方描述如下:
- minio需要一个持久卷来存储配置和应用数据。不过,如果只是为了测试一下,您可以通过简单地传递一个目录(在下面的示例中为/data)启动minio。这个目录会在容器启动时在容器的文件系统中创建,不过所有的数据都会在容器退出时丢失。
docker run \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
quay.io/minio/minio server /data --console-address ":9001"
- 上面这种所有的数据都会在容器退出时丢失
- 要创建具有永久存储的minio容器,需要将本地持久目录从主机操作系统映射到虚拟配饰~/.minio并导出/data目录。因此,运行一下命令:
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /mnt/data:/data \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
quay.io/minio/minio server /data --console-address ":9001"
- 然后就报错了,问题1:ERROR Unable to initialize backend: mkdir /data/.minio.sys: permission denied
- 首先给这个文件夹赋予权限:chmod -R 777 /mnt/data
- 然后执行如下:
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /mnt/data:/data:z \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
quay.io/minio/minio server /data --console-address ":9001"