Docker 最佳实战:Docker 部署单节点 Minio 实战

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 大模型等实战技能。未来运维生涯始终有我坐在你的副驾

版权声明

  • 所有内容均属于原创,感谢阅读、收藏,转载请联系授权,未经授权不得转载
相关推荐
昌sit!4 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
追风林5 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
A ?Charis7 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
城南vision7 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge7 小时前
Docker篇(Docker Compose)
运维·docker·容器
北漂IT民工_程序员_ZG8 小时前
k8s集群安装(minikube)
云原生·容器·kubernetes
梦魇梦狸º11 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉11 小时前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java11 小时前
Docker 的基本概念和优势
docker
南猿北者13 小时前
docker镜像仓库常用命令
运维·docker·容器