ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【运维】docker-compose安装minio集群

【运维】docker-compose安装minio集群 Minio管网要使用docker-compose部署一个MinIO集群你需要设置多个MinIO节点以使其在分布式模式下运行。直接上干货下面提供了一个简单的示例docker-compose.yml文件用于部署一个由三个节点组成的MinIO集群。这些节点共享同一个网络并使用挂载宿主机磁盘来存储数据。一、docker-compose安装minio单机版直接使用docker安装单机版可用于测试创建.env环境文件并配置管理密码echo MINIO_PASSWORDminio123 .env创建docker-compose.yml环境文件services:minio:image:minio/miniocontainer_name:minioports:-9000:9000-9001:9001environment:-MINIO_ROOT_USERminio-MINIO_ROOT_PASSWORD${MINIO_PASSWORD}volumes:-./data:/data#指定容器中的目录 /datacommand:server--console-address :9001 /dataprivileged:truehealthcheck:test:[CMD,curl,-f,http://localhost:9000/minio/health/live]interval:30stimeout:20sretries:3restart:always#network_mode: host直接执行docker-compose up -d命令即可启动运行二、docker-compose安装minio集群准备三台机器用于部署minio分布式集群192.168.131.101192.168.131.102192.168.131.1031、配置hosts在每台机器执行如下命令vim /etc/hosts写入如下文本echominio1 192.168.131.101/etc/hostsechominio2 192.168.131.102/etc/hostsechominio3 192.168.131.103/etc/hosts执行命令cat /etc/hosts查看配置结果minio1192.168.131.101 minio2192.168.131.102 minio3192.168.131.1032、创建目录在每台机器上执行创建目录命令mkdir-p/data/minio3、创建yml文件装备.env环境变量文件cd/data/minioechoMINIO_PASSWORDminio123.env每台机器创建docker-compose.yml环境文件services:minio:image:minio/miniocontainer_name:minio-node1hostname:minio1expose:-19000-19001environment:-MINIO_ROOT_USERminio-MINIO_ROOT_PASSWORD${MINIO_PASSWORD}volumes:-./data-1:/data1-./data-2:/data2command:server--console-address :19001--address :19000 http://minio{1...3}/data{1...2}privileged:truehealthcheck:test:[CMD,curl,-f,http://localhost:19000/minio/health/live]interval:30stimeout:20sretries:3extra_hosts:-minio1:192.168.131.101-minio2:192.168.131.102-minio3:192.168.131.103restart:alwaysnetwork_mode:host4、nginx负载均衡参考此部分内容可在任意机器添加选一台即可在192.168.131.101上的docker-compose.yml文件中添加如下nginx服务的内容nginx:image:nginx:1.19.2-alpinehostname:nginxvolumes:-./nginx.conf:/etc/nginx/nginx.conf:roports:-9000:9090-9001:9091extra_hosts:-minio1:192.168.131.195-minio2:192.168.131.194-minio3:192.168.131.188restart:always挂载的nginx.conf配置文件user nginx;worker_processes auto;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events{worker_connections4096;}http{include /etc/nginx/mime.types;default_type application/octet-stream;log_format main$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;access_log /var/log/nginx/access.log main;sendfile on;keepalive_timeout65;# include /etc/nginx/conf.d/*.conf;upstream adobe{server minio1:19000;server minio2:19000;server minio3:19000;}upstream console{ip_hash;server minio1:19001;server minio2:19001;server minio3:19001;}server{listen9090;listen[::]:9090;server_name localhost;# To allow special characters in headersignore_invalid_headers off;# Allow any size file to be uploaded.# Set to a value such as 1000m; to restrict file size to a specific valueclient_max_body_size0;# To disable bufferingproxy_buffering off;proxy_request_buffering off;location /{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;proxy_set_header X-Forwarded-Proto$scheme;proxy_connect_timeout300;# Default is HTTP/1, keepalive is only enabled in HTTP/1.1proxy_http_version1.1;proxy_set_header Connection;chunked_transfer_encoding off;proxy_pass http://adobe;}}server{listen9091;listen[::]:9091;server_name localhost;# To allow special characters in headersignore_invalid_headers off;# Allow any size file to be uploaded.# Set to a value such as 1000m; to restrict file size to a specific valueclient_max_body_size0;# To disable bufferingproxy_buffering off;proxy_request_buffering off;location /{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;proxy_set_header X-Forwarded-Proto$scheme;proxy_set_header X-NginX-Proxytrue;# This is necessary to pass the correct IP to be hashedreal_ip_header X-Real-IP;proxy_connect_timeout300;# To support websocketproxy_http_version1.1;proxy_set_header Upgrade$http_upgrade;proxy_set_header Connectionupgrade;chunked_transfer_encoding off;proxy_pass http://console;}}}如自行配置nginx配置记得开启websocket即可# To support websocketproxy_http_version1.1;proxy_set_header Upgrade$http_upgrade;proxy_set_header Connectionupgrade;至此准备工作完成分别在每台机器执行docker-compose启动命令即可完成集群搭建docker-composeup-d扩展1、【运维】ansible批量安装dockeransible牛逼不要太爽了2、【运维】在centos7系统中如何给docker配置代理3、【运维】portainer管理远程docker和docker-swarm集群Docker compose快速部署minio服务国外VPS价格合适邮箱注册
返回列表