· Docker部署Minio控制台登录Invalid Login问题处理
· Docker部署Minio 启用HTTPS
一、问题描述
参考官方文档https://docs.min.io/docs/minio-docker-quickstart-guide.html,通过Docker部署Minio,当添加 MINIO_SERVER_URL
的环境变量后控制台登录就会报错提示 Invalid Login ,如图1
Docker部署命令:
宿主机新建文件夹:
mkdir -p /minio/data
运行容器
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /minio/data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=Orcy0net0cn" \
-e "MINIO_SERVER_URL=http://p.hvz.cc:9000" \
--restart unless-stopped \
quay.io/minio/minio server /data --console-address ":9001"
其中,我的域名为 http://p.hvz.cc
用户名为“admin”,密码为“Orcy0net0cn”
二、解决办法
执行以下命令进入容器:
[root@localhost ~]# docker exec -it minio1 bash
在容器中执行
[root@546ec4880a44 /]# echo "127.0.0.1 p.hvz.cc" >> /etc/hosts
MINIO_SERVER_URL环境变量为域名 p.hvz.cc
此时重新打开登录页面,就可以正常登录控制台了
问题分析:可能是域名登录的时候容器里边的系统并不知道这个域名对应主机地址是什么,或者这个域名对应的IP地址并不是容器自身的IP,才会导致登录失败,通过在容器的hosts添加一条记录,将它指向127.0.0.1后,就可以正常登录了。
三、启用HTTPS
(1)上传证书
如果之前已经创建容器,先删除
docker rm -f minio1
在宿主机创建存放SSL证书文件夹
mkdir -p /minio/certs
将SSL证书上传到此路径中,重命名证书为 public.crt
,私钥为 private.key
证书申请略
(2)启动容器
执行以下命令启动容器
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /minio/data:/data \
-v /minio/certs:/tmp/certs \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=Orcy0net0cn" \
-e "MINIO_SERVER_URL=https://p.hvz.cc:9000" \
-e "MINIO_BROWSER_REDIRECT_URL=https://p.hvz.cc:9001" \
quay.io/minio/minio server /data --console-address ":9001" --certs-dir /tmp/certs
(3)解决Invalid Login问题
进入容器
[root@localhost ~]# docker exec -it minio1 bash
容器中执行以下命令
[root@546ec4880a44 /]# echo "127.0.0.1 p.hvz.cc" >> /etc/hosts
此时用浏览器打开 https://p.hvz.cc:9001
正常登录即可
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)