minio【docker-compose 部署minio分布式集群】
minio【docker-compose 部署minio分布式集群】
1 下载docker-compose.yaml
version: '3.7'# Settings and configurations that are common for all containers
x-minio-common: &minio-commonimage: minio/minio:latestcommand: server --console-address ":9001" http://minio{1...4}/data{1...2}expose:- "9000"- "9001"environment:MINIO_ROOT_USER: minioMINIO_ROOT_PASSWORD: minio123healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3# starts 4 docker containers running minio server instances.
# using nginx reverse proxy, load balancing, you can access
# it through port 9000.
services:minio1:<<: *minio-commonhostname: minio1volumes:- data1-1:/data1- data1-2:/data2minio2:<<: *minio-commonhostname: minio2volumes:- data2-1:/data1- data2-2:/data2minio3:<<: *minio-commonhostname: minio3volumes:- data3-1:/data1- data3-2:/data2minio4:<<: *minio-commonhostname: minio4volumes:- data4-1:/data1- data4-2:/data2nginx:image: nginx:1.19.2-alpinehostname: nginxvolumes:- ./nginx.conf:/etc/nginx/nginx.conf:roports:- "9000:9000"- "9001:9001"depends_on:- minio1- minio2- minio3- minio4## By default this config uses default local driver,
## For custom volumes replace with volume driver configuration.
volumes:data1-1:data1-2:data2-1:data2-2:data3-1:data3-2:data4-1:data4-2:
注:
- image 镜像自定义版本,这边用最新版本,端口自定义
- nginx配置文件不一定在/etc/nginx/下,如果自定义编译安装,一般在/usr/local/nginx/conf/下
- MINIO_ROOT_USER: minio 用户名 自己根据需求修改
- MINIO_ROOT_PASSWORD: minio123 密码 自己根据需求修改
2 拉取镜像
docker-compose pull
3 生成实例
docker-compose up -d # 不加-d参数,会打印日志,并且Ctrl+C后,实例停止运行
4 修改nginx默认配置
default.conf
upstream minioConsole{server 172.21.0.2:9001;server 172.21.0.3:9001;server 172.21.0.4:9001;server 172.21.0.5:9001;
}server {listen 9001;listen [::]:9001;server_name localhost;gzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;gzip_disable "MSIE [1-6]\.";location / {proxy_pass http://minioConsole;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;add_header Access-Control-Allow-Origin *;rewrite ^/$ /wlsweb; root /usr/share/nginx/html;}}upstream minioAPI{server 172.21.0.2:9000;server 172.21.0.3:9000;server 172.21.0.4:9000;server 172.21.0.5:9000;
}server {listen 9000;listen [::]:9000;server_name localhost;gzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;gzip_disable "MSIE [1-6]\.";location / {proxy_pass http://minioAPI;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;add_header Access-Control-Allow-Origin *;rewrite ^/$ /wlsweb; root /usr/share/nginx/html;}}
注:
ip地址通过docker logs id获取,*.*.*.1 默认会被作为网关地址,docker 中的ip地址默认从 *.*.*.2开始
替换docker – nginx的配置文件
# 进入nginx容器实例
docker exec -it data_nginx_1 bash # data_nginx_1 可能不同
# 删除容器实例中/etc/nginx/conf.d/default.conf 文件
rm -rf /etc/nginx/conf.d/default.conf
# 也可重命名作为备份
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
# 退出容器
exit
# 复制上述 default.conf文件到nginx容器实例/etc/nginx/conf.d/下
docker cp default.conf data_nginx_1:/etc/nginx/conf.d/
# 重启nginx容器实例
docker restart data_nginx_1 # data_nginx_1 一般使用容器实例id,不使用容器名称
先在浏览器访问IP:9001
用户名:minio
密码:minio123
我的服务器值测试用的,配置是最低的那种,会卡死
docker 单机部署minio
docker pull minio/minio # docker pull quay.io/minio/minio
docker run -itd --name minio -p 9000:9000 -p 9001:9001 -e "MINIO_ROOT_USER=sosdawn" -e "MINIO_ROOT_PASSWORD=SosDawn_1368" -v /minio/data:/data -v /minio/config:/root/.minio minio/minio server /data --console-address ":9001" --address ":9000"# docker run -itd --name minio -p 9000:9000 -p 9001:9001 -e "MINIO_ROOT_USER=sosdawn" -e "MINIO_ROOT_PASSWORD=SosDawn_1368" -v /minio/data:/data -v /minio/config:/root/.minio quay.io/minio/minio server /data --console-address ":9001" --address ":9000"
minio【docker-compose 部署minio分布式集群】相关推荐
- 使用docker compose部署MySQL主从复制集群
使用docker compose部署MySQL主从复制集群 环境说明 宿主机:Ubuntu 14.04.6 LTS Docker Engine: 18.06.3-ce docker compose: ...
- docker 容器实现 hadoop分布式集群部署
在学习hadoop课程中,讲师介绍了hadoop的单机以及集群部署方式,由于本地资源限制,只有一台虚拟机,所以考虑使用docker的方式实现分布式集群搭建. 如上图: 需要在主节点启动NameNode ...
- 使用 Docker Stack 部署多服务集群
使用 Docker Stack 部署多服务集群 前言 单机模式下,我们可以使用 Docker Compose 来编排多个服务,而在 上一篇文章 中介绍的 Docker Swarm 只能实现对单个服务的 ...
- 将MongoDB部署到分布式集群(实操)
本教程前面的内容基本涵盖了 MongoDB 的基本知识,现在在单机环境下操作 MongoDB 已经不存在问题,但是单机环境只适合学习和开发测试,在实际的生产环境中,MongoDB 基本是以集群的方式工 ...
- Hadoop集群安装部署_分布式集群安装_02
文章目录 一.上传与 解压 1. 上传安装包 2. 解压hadoop安装包 二.修改hadoop相关配置文件 2.1. hadoop-env.sh 2.2. core-site.xml 2.3. hd ...
- Hadoop集群安装部署_分布式集群安装_01
文章目录 1. 分布式集群规划 2. 数据清理 3. 基础环境准备 4. 配置ip映射 5. 时间同步 6. SSH免密码登录完善 7. 免密登录验证 1. 分布式集群规划 伪分布集群搞定了以后我们来 ...
- Spark笔记整理(一):spark单机安装部署、分布式集群与HA安装部署+spark源码编译...
[TOC] spark单机安装部署 1.安装scala 解压:tar -zxvf soft/scala-2.10.5.tgz -C app/ 重命名:mv scala-2.10.5/ scala 配置 ...
- Docker学习总结(43)——Docker Compose 搭建Mysql主从复制集群
前言 随着应用业务数据不断的增大,应用的 响应速度不断下降,在检测过程中我们不难发现大多数的请求都是 查询操作.此时,我们可以将数据库扩展成 主从复制模式,将 读操作 和 写操作 分离开来,多台数据库 ...
- win10不用虚拟机部署伪分布式集群(服务部署+客户端访问)
其实吧,花太多时间在环境的部署上不值得,环境部署是运维的事,所以在没环境 的时候自己测试用 伪分布就可以了. 小白开工 1.打开win10 (确保连接了互联网), 2.鼠标左键单机开始按钮, 找到Mi ...
- spark1.1.0部署standalone分布式集群
配置三个节点的spark集群,集群模式为standalone模式,其中sp1节点作为主节点,sp2节点和sp3节点为从节点.***注意所有操作均为root用户. 创建3个CentOS虚拟机,如下: s ...
最新文章
- Python 基于Python从mysql表读取千万数据实践
- python循环语句-python循环语句(第十节)
- Android学习笔记之自定义Toast
- 数学建模学习笔记——主成分分析
- 数据库MySQL--基础查询
- 初学Linux之程序安装
- 嵌入式WiFi芯片价格战已经打响 MCU企业该醒悟了
- c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现
- python什么是堆什么是栈_python中堆和栈_Python小知识00002
- Oracle18C RPM安装介绍
- 语音机器人究竟能做些什么?
- 【模糊综合评价原理与案例】
- su灯光插件_V-Ray for SketchUp
- java 接入微信获取人员信息名称带表情符号无法存储
- 你可能不知道的印度手机市场
- mac node repl_如何使用Node.js REPL
- 手把手教你搭建最新国产开源网络安全渗透测试集成靶场vulfocus
- JS与C语言的数据类型转换
- 代数系统,二元运算,半群,含幺半群,群
- U盘可以被识别但无法驱动问题