您现在的位置是: 首页 > 服务器 服务器
Docker部署Minio控制台域名访问和https
冬寂 2023-02-16 10:25:28 【服务器】 2818人已围观
· Docker部署Minio控制台域名访问和https
· 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://yustone.cn:9000" \ --restart unless-stopped \ quay.io/minio/minio server /data --console-address ":9001"
其中,我的域名为 http://yustone.com
用户名为“admin”,密码为“Orcy0net0cn”
二、解决办法
执行以下命令进入容器:
[root@localhost ~]# docker exec -it minio1 bash
在容器中执行
[root@546ec4880a44 /]# echo "127.0.0.1 yustone.com" >> /etc/hosts
MINIO_SERVER_URL环境变量为域名
此时重新打开登录页面,就可以正常登录控制台了
问题分析:可能是域名登录的时候容器里边的系统并不知道这个域名对应主机地址是什么,或者这个域名对应的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://yustone.cn:9000" \-e "MINIO_BROWSER_REDIRECT_URL=https://yustone: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 yustone.com" >> /etc/hosts
此时用浏览器打开 https://yustone.com:9001
正常登录即可