docker-compose部署minio集群
提示:本文是在Dokcer Desktop环境下部署。
docker部署单机minio
docker部署单机minio 之前有讲过,这里就不在重复
docker部署minio集群
提示:quay.io/minio/minio是稳定版本
1.拉取镜像
docker pull quay.io/minio/minio
2.创建文件夹
分别创建 C:\DockerData\minio-cluster\minio1和C:\DockerData\minio-cluster\minio2文件夹
然后再minio1/minio2中分别创建config、data1和data2文件夹
3. 编写docker-compose.yml文件
提示:不熟悉docker-compose的可以先百度了解一下
通过docker-compose部署集群的好处是在单台机器上可以快捷的部署集群。如果有多台机器,可以不使用docker-compose,直接在每台机器上单独部署,然后配置集群的环境变了文件。
version: '3'
# 公共操作
x-minio-common: &minio-common
image: quay.io/minio/minio
command: server --console-address ':9090' -address ":9000" http://minio{1...2}/data{1...2}
environment:
TZ: Asia/Shanghai
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
services:
minio:
<<: *minio-common
hostname: minio1
container_name: minio1
volumes:
- C:\DockerData\minio-cluster\minio1\data1:/data1
- C:\DockerData\minio-cluster\minio1\data2:/data2
- C:\DockerData\minio-cluster\minio1\config:/root/.minio/
ports:
- "19001:9000"
- "19091:9090"
minio2:
<<: *minio-common
hostname: minio2
container_name: minio2
volumes:
- C:\DockerData\minio-cluster\minio2\data1:/data1
- C:\DockerData\minio-cluster\minio2\data2:/data2
- C:\DockerData\minio-cluster\minio2\config:/root/.minio/
ports:
- "19002:9000"
- "19092:9090"
# 简单解释一下
# command: server --console-address ':9090' -address ":9000" http://minio{1...2}/data{1...2}
# 命令中的 http://minio{1...2}/data{1...2} 是集群配置minio{1...2}写法是对应容器minio1和minio2中的网络
4.启动容器
注意:执行docker-compose命令时,需要执行命令的路径中存在docker-compose.yml文件,因此docker-compose.yml在那个路径下面,命令就在那个路径下执行。
docker-compose up -d
5.查看启动日志
启动成功后,docker desktop中会出现通过docker-compose创建的容器。
可以点看容器查看启动日志
查看启动日志
6.配置nginx
提示:配置nginx是为了负载均衡,其实不配置也可以访问了
nginx 负载均衡配置
# api接口的负载均衡
upstream api {
server ip:19001;
server ip:19002;
}
# 控制台负载均衡
upstream console {
server ip:19091;
server ip:19092;
}
server {
listen 80;
listen [::]:80;
# 域名访问,可以通过修改hosts文件映射本地域名
server_name consoles.minio.com;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://console/;
}
}
server {
listen 80;
listen [::]:80;
# 域名访问,可以通过修改hosts文件映射本地域名
server_name apis.minio.com;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://api/;
}
}
7.访问
如果通过以上配置了nginx,则可通过 http://consoles.minio.com 访问后台
如果没有配置nginx,则可通过 http://ip:19091 或 http://ip:19091访问后台
账号密码:minioadmin/minioadmin
8.查看集群状态
下图显示了整个minio集群的状态,有两个节点,每个节点有两个硬盘一共就是四个硬盘。
文章来源:https://www.toymoban.com/news/detail-661177.html
总结
以上是通过docker-compose对minio的集群部署!!! 后面会出Springboot集成minio的接口。文章来源地址https://www.toymoban.com/news/detail-661177.html
到了这里,关于docker-compose部署minio集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!