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分布式集群】相关推荐

  1. 使用docker compose部署MySQL主从复制集群

    使用docker compose部署MySQL主从复制集群 环境说明 宿主机:Ubuntu 14.04.6 LTS Docker Engine: 18.06.3-ce docker compose: ...

  2. docker 容器实现 hadoop分布式集群部署

    在学习hadoop课程中,讲师介绍了hadoop的单机以及集群部署方式,由于本地资源限制,只有一台虚拟机,所以考虑使用docker的方式实现分布式集群搭建. 如上图: 需要在主节点启动NameNode ...

  3. 使用 Docker Stack 部署多服务集群

    使用 Docker Stack 部署多服务集群 前言 单机模式下,我们可以使用 Docker Compose 来编排多个服务,而在 上一篇文章 中介绍的 Docker Swarm 只能实现对单个服务的 ...

  4. 将MongoDB部署到分布式集群(实操)

    本教程前面的内容基本涵盖了 MongoDB 的基本知识,现在在单机环境下操作 MongoDB 已经不存在问题,但是单机环境只适合学习和开发测试,在实际的生产环境中,MongoDB 基本是以集群的方式工 ...

  5. Hadoop集群安装部署_分布式集群安装_02

    文章目录 一.上传与 解压 1. 上传安装包 2. 解压hadoop安装包 二.修改hadoop相关配置文件 2.1. hadoop-env.sh 2.2. core-site.xml 2.3. hd ...

  6. Hadoop集群安装部署_分布式集群安装_01

    文章目录 1. 分布式集群规划 2. 数据清理 3. 基础环境准备 4. 配置ip映射 5. 时间同步 6. SSH免密码登录完善 7. 免密登录验证 1. 分布式集群规划 伪分布集群搞定了以后我们来 ...

  7. Spark笔记整理(一):spark单机安装部署、分布式集群与HA安装部署+spark源码编译...

    [TOC] spark单机安装部署 1.安装scala 解压:tar -zxvf soft/scala-2.10.5.tgz -C app/ 重命名:mv scala-2.10.5/ scala 配置 ...

  8. Docker学习总结(43)——Docker Compose 搭建Mysql主从复制集群

    前言 随着应用业务数据不断的增大,应用的 响应速度不断下降,在检测过程中我们不难发现大多数的请求都是 查询操作.此时,我们可以将数据库扩展成 主从复制模式,将 读操作 和 写操作 分离开来,多台数据库 ...

  9. win10不用虚拟机部署伪分布式集群(服务部署+客户端访问)

    其实吧,花太多时间在环境的部署上不值得,环境部署是运维的事,所以在没环境 的时候自己测试用 伪分布就可以了. 小白开工 1.打开win10 (确保连接了互联网), 2.鼠标左键单机开始按钮, 找到Mi ...

  10. spark1.1.0部署standalone分布式集群

    配置三个节点的spark集群,集群模式为standalone模式,其中sp1节点作为主节点,sp2节点和sp3节点为从节点.***注意所有操作均为root用户. 创建3个CentOS虚拟机,如下: s ...

最新文章

  1. Python 基于Python从mysql表读取千万数据实践
  2. python循环语句-python循环语句(第十节)
  3. Android学习笔记之自定义Toast
  4. 数学建模学习笔记——主成分分析
  5. 数据库MySQL--基础查询
  6. 初学Linux之程序安装
  7. 嵌入式WiFi芯片价格战已经打响 MCU企业该醒悟了
  8. c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现
  9. python什么是堆什么是栈_python中堆和栈_Python小知识00002
  10. Oracle18C RPM安装介绍
  11. 语音机器人究竟能做些什么?
  12. 【模糊综合评价原理与案例】
  13. su灯光插件_V-Ray for SketchUp
  14. java 接入微信获取人员信息名称带表情符号无法存储
  15. 你可能不知道的印度手机市场
  16. mac node repl_如何使用Node.js REPL
  17. 手把手教你搭建最新国产开源网络安全渗透测试集成靶场vulfocus
  18. JS与C语言的数据类型转换
  19. 代数系统,二元运算,半群,含幺半群,群
  20. U盘可以被识别但无法驱动问题

热门文章

  1. plsa java_LDA和PLSA的区别
  2. java中判断数组为空
  3. 接口安全-Token
  4. 现货黄金白银的短线技巧
  5. 一分钟搞定微信小程序定位(wx.getLocation)功能
  6. ReactHook中使用useState更新变量后,怎么拿到变量更新后的值
  7. 苹果/Mac电脑如何开启勿扰模式?
  8. Java面试题之:数据库锁
  9. 零基础开发小游戏语音开黑Demo
  10. go 实现post请求