Docker 最佳实战:Docker 部署单节点 Minio 实战
2024 年云原生运维实战文档 99 篇原创计划 第 027 篇 |Docker 最佳实战「2024」系列 第 015 篇
你好,欢迎来到运维有术。
今天分享的内容是 Docker 最佳实战「2024」 系列文档中的 Docker 部署单节点 Minio 实战。
本文将详细介绍如何用 Docker 容器及 Docker Compose 部署单节点、单数据卷的 Minio 服务。
实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不同)
主机名 | IP | CPU(核) | 内存(GB) | 系统盘(GB) | 数据盘(GB) | 用途 |
---|---|---|---|---|---|---|
docker-node-1 | 192.168.9.81 | 4 | 16 | 40 | 100 | Docker 节点 1 |
docker-node-2 | 192.168.9.82 | 4 | 16 | 40 | 100 | Docker 节点 2 |
docker-node-3 | 192.168.9.83 | 4 | 16 | 40 | 100 | Docker 节点 3 |
合计 | 3 | 12 | 48 | 120 | 300 |
实战环境涉及软件版本信息
- 操作系统:openEuler 22.03 LTS SP3
- Docker:24.0.7
- Minio:RELEASE.2024-06-06T09-36-42Z
1. 前置条件
使用 Docker 部署 Minio 服务的镜像有以下几种选择:
- bitnami/minio (下载量 10M+)
- minio/minio (下载量 1B+)
本文选择下载量最大的 Minio 官方提供的镜像,构建单节点 Minio 服务。
2. 安装部署 Minio
2.1 创建数据目录并设置权限
bash
cd /data/containers
mkdir -p minio/data
2.2 创建 docker-compose.yml 文件
创建配置文件,vi minio/docker-compose.yml
yaml
name: 'minio'
services:
minio:
container_name: minio
image: minio/minio:RELEASE.2024-06-06T09-36-42Z
restart: always
environment:
- TZ=Asia/Shanghai
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=OpsXlab@2024
networks:
- app-tier
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ./data:/data
command: minio server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
networks:
app-tier:
name: app-tier
driver: bridge
#external: true
2.3 创建并启动服务
- 启动服务
bash
cd /data/containers/minio
docker compose up -d
2.4 验证容器状态
- 查看 Minio 容器状态
bash
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
minio minio/minio:RELEASE.2024-06-06T09-36-42Z "/usr/bin/docker-ent..." minio 46 seconds ago Up 43 seconds (healthy) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp
- 查看 Minio 服务日志
ruby
# 通过日志查看容器是否有异常,结果略
$ docker compose logs -f
3. 验证测试
打开浏览器,输入 **http://服务器IP:9001**,验证 Minio 管理控制台。
Minio 默认的 Metrics 信息。
4. 自动化 Shell 脚本
文章中所有操作步骤,已全部编排为自动化脚本,包含以下内容(因篇幅限制,不在此文档中展示):
- Shell 脚本部署单节点容器化 Minio
- Ansible 部署单节点容器化 Minio
运维有术 星球会员请到专属代码仓库下载(价值内容,仅星球会员专享)。
以上,就是我今天分享的全部内容。下一期分享的内容还没想好,敬请期待开盲盒。
如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @运维有术,及时收看更多好文!
免责声明:
- 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。
- 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境 。由此引发的任何问题,作者概不负责!
Get 本文实战视频(请注意,文档视频异步发行,请先关注)
欢迎加入 「知识星球|运维有术」 ,获取更多的 KubeSphere、Kubernetes、云原生运维、自动化运维、AI 大模型等实战技能。未来运维生涯始终有我坐在你的副驾。
版权声明
- 所有内容均属于原创,感谢阅读、收藏,转载请联系授权,未经授权不得转载。