【Docker】Minio 容器化部署配置详情

这篇具有很好参考价值的文章主要介绍了【Docker】Minio 容器化部署配置详情。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

qingtcloud-oss标准软件基于Bitnami minio 构建。当前版本为2024.2.26

连接容器

使用Docker 容器网络,应用程序容器可以轻松访问容器内运行的 MinIO® 服务器。

使用命令行

在此示例中,我们将创建一个MinIO® 客户端容器,该容器将连接到与客户端在同一 Docker 网络上运行的服务器容器。

第 1 步:创建网络
docker network create app-tier --driver bridge
步骤 2:启动 MinIO® 服务器容器

使用命令–network app-tier的参数docker run将 MinIO® 容器连接到网络app-tier。

docker run -d --name minio-server \
    --env MINIO_ROOT_USER="minio-root-user" \
    --env MINIO_ROOT_PASSWORD="minio-root-password" \
    --network app-tier \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest
步骤 3:启动您的 MinIO® 客户端容器

最后,我们创建一个新的容器实例来启动 MinIO® 客户端并连接到上一步中创建的服务器。在此示例中,我们在 MinIO® 存储服务器中创建一个新bucket:

docker run -it --rm --name minio-client \
    --env MINIO_SERVER_HOST="minio-server" \
    --env MINIO_SERVER_ACCESS_KEY="minio-access-key" \
    --env MINIO_SERVER_SECRET_KEY="minio-secret-key" \
    --network app-tier \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/minio-client \
    mb minio/my-bucket

使用 Docker Compose 文件

如果未指定,Docker Compose 会自动设置一个新网络并将所有已部署的服务附加到该网络。但是,我们将显式定义一个bridge名为app-tier的新网络。在此示例中,我们假设您希望从您自己的自定义应用程序映像连接到 MinIO® 服务器,该image在以下代码片段中通过服务名称myapp进行标识。

version: '2'

networks:
  app-tier:
    driver: bridge

services:
  minio:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    ports:
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ROOT_USER=minio-root-user
      - MINIO_ROOT_PASSWORD=minio-root-password
    networks:
      - app-tier
  myapp:
    image: 'YOUR_APPLICATION_IMAGE'
    networks:
      - app-tier
    environment:
      - MINIO_SERVER_ACCESS_KEY=minio-access-key
      - MINIO_SERVER_SECRET_KEY=minio-secret-key

重要

替换YOUR_APPLICATION_IMAGE占位符
在您的应用程序容器中,使用主机名minio连接到 MinIO® 服务器。使用环境变量MINIO_SERVER_ACCESS_KEY并MINIO_SERVER_SECRET_KEY配置凭据以访问 MinIO® 服务器。
确保环境变量MINIO_ROOT_PASSWORD满足MINIO_SERVER_SECRET_KEYMinIO® 强制执行的 8 个字符最小长度要求。

启动容器:

docker-compose up -d

配置

MiNIO 可以通过环境变量进行配置,详细信息请参阅MinIO® 文档。

环境变量

定制的环境变量
Name Description Default Value
MINIO_DATA_DIR MinIO 数据目录。 /bitnami/minio/data
MINIO_DATA_DIR MinIO 数据目录。 /bitnami/minio/data
MINIO_API_PORT_NUMBER MinIO API 端口号 9000
MINIO_API_PORT_NUMBER MinIO API 端口号 9080
MINIO_CONSOLE_PORT_NUMBER MinIO API 端口号 9001
MINIO_SCHEME MinIO web scheme. http
MINIO_SKIP_CLIENT 跳过 MinIO 客户端配置。 no
MINIO_DISTRIBUTED_MODE_ENABLED 启用 MinIO 分布式模式。 no
MINIO_STARTUP_TIMEOUT MinIO 启动超时。 10
MINIO_SERVER_URL MinIO 服务器外部 URL。 $MINIO_SCHEME://localhost:$MINIO_API_PORT_NUMBER
MINIO_APACHE_CONSOLE_HTTP_PORT_NUMBER MinIO 控制台 UI HTTP 端口,通过 Apache 公开,具有基本身份验证。 80
MINIO_APACHE_CONSOLE_HTTPS_PORT_NUMBER MinIO 控制台 UI HTTPS 端口,通过 Apache 公开,具有基本身份验证。 443
MINIO_APACHE_API_HTTP_PORT_NUMBER MinIO API HTTP 端口,通过 Apache 公开,具有基本身份验证。 9000
MINIO_APACHE_API_HTTPS_PORT_NUMBER MinIO API HTTPS 端口,通过 Apache 公开,具有基本身份验证。 9443
MINIO_FORCE_NEW_KEYS 强制重新创建 MinIO 密钥。 no
MINIO_ROOT_USER MinIO root 用户名。 minio
MINIO_ROOT_PASSWORD MinIO root 用户的密码。 miniosecret
只读环境变量
Name Description Value
MINIO_BASE_DIR MinIO 安装目录。 ${BITNAMI_ROOT_DIR}/minio
MINIO_BIN_DIR 二进制文件的 MinIO 目录。 ${MINIO_BASE_DIR}/bin
MINIO_CERTS_DIR TLS 证书的 MinIO 目录。 /certs
MINIO_LOGS_DIR 日志文件的 MinIO 目录。 ${MINIO_BASE_DIR}/log
MINIO_TMP_DIR 日志文件的 MinIO 目录。 ${MINIO_BASE_DIR}/tmp
MINIO_SECRETS_DIR 凭证的 MinIO 目录。 ${MINIO_BASE_DIR}/secrets
MINIO_LOG_FILE MinIO 日志文件。 ${MINIO_LOGS_DIR}/minio.log
MINIO_PID_FILE MinIO PID文件。 ${MINIO_TMP_DIR}/minio.pid
MINIO_DAEMON_USER MinIO 系统用户。 minio
MINIO_DAEMON_GROUP MinIO 系统组。 minio

此镜像中还附带了MinIO® 客户端 ( mc),可用于执行MinIO® 客户端文档中所述的管理任务。下面的例子中,客户端用于获取服务器信息:

docker run --name minio -d registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest
docker exec minio mc admin info local

或使用 Docker Compose 前提是你已经下载了完整的docker-compose.xml:

docker-compose up -d
docker-compose exec minio mc admin info local

创建默认存储桶

您可以在容器初始化期间通过设置环境变量在 MinIO® 服务器中创建一系列存储桶,MINIO_DEFAULT_BUCKETS如下所示(策略是可选的):

docker run --name minio \
    --publish 9000:9000 \
    --publish 9001:9001 \
    --env MINIO_DEFAULT_BUCKETS='my-first-bucket:policy,my-second-bucket' \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest

或者通过修改docker-compose.yml配置信息:

services:
  minio:
  ...
    environment:
      - MINIO_DEFAULT_BUCKETS=my-first-bucket:policy,my-second-bucket
  ...

使用 TLS 保护对 MinIO® 服务器的访问

您可以使用 TLS 保护对 MinIO® 服务器的访问,如MinIO® 文档中所述。

该映像期望将变量MINIO_SCHEME设置为https并将证书安装在该/certs目录中。您可以将密钥和证书文件放在本地目录中并将其挂载到容器中,如下所示:

docker run --name minio \
    --publish 9000:9000 \
    --publish 9001:9001 \
    --volume /path/to/certs:/certs \
    --env MINIO_SCHEME=https
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest

或者通过修改docker-compose.yml文件:

services:
  minio:
  ...
    environment:
    ...
      - MINIO_SCHEME=https
    ...
    volumes:
      - /path/to/certs:/certs
  ...

在分布式模式下设置 MinIO®

您可以在分布式模式下配置 MinIO® 以设置高可用性存储系统。为此,必须在每个节点上设置以下环境变量:

  • MINIO_DISTRIBUTED_MODE_ENABLED:将其设置为“yes”以启用分布式模式。
  • MINIO_DISTRIBUTED_NODES:MinIO® 节点主机列表。可用的分隔符为“ ”、“,”和“;”。
  • MINIO_ROOT_USER:MinIO® 服务器根用户。必须在每个节点上通用。
  • MINIO_ROOT_PASSWORD:MinIO® 服务器根密码。必须在每个节点上通用。
    您可以使用下面的 Docker Compose 创建 4 节点分布式 MinIO® 设置:
version: '2'

services:
  minio1:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    environment:
      - MINIO_ROOT_USER=minio-root-user
      - MINIO_ROOT_PASSWORD=minio-root-password
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio1,minio2,minio3,minio4
      - MINIO_SKIP_CLIENT=yes
  minio2:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    environment:
      - MINIO_ROOT_USER=minio-root-user
      - MINIO_ROOT_PASSWORD=minio-root-password
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio1,minio2,minio3,minio4
      - MINIO_SKIP_CLIENT=yes
  minio3:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    environment:
      - MINIO_ROOT_USER=minio-root-user
      - MINIO_ROOT_PASSWORD=minio-root-password
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio1,minio2,minio3,minio4
      - MINIO_SKIP_CLIENT=yes
  minio4:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    environment:
      - MINIO_ROOT_USER=minio-root-user
      - MINIO_ROOT_PASSWORD=minio-root-password
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio1,minio2,minio3,minio4
      - MINIO_SKIP_CLIENT=yes

MinIO® 还支持省略号语法 ( {1…n}) 来列出 MinIO® 节点主机,其中n是节点数。{1…m}此语法对于在每个 MinIO® 节点上使用多个驱动器 ( ) 也有效,其中n是每个节点的驱动器数量。您可以使用下面的 Docker Compose 创建 2 节点分布式 MinIO® 设置,每个节点有 2 个驱动器:

version: '2'
services:
  minio-0:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    volumes:
      - 'minio_0_data_0:/bitnami/minio/data-0'
      - 'minio_0_data_1:/bitnami/minio/data-1'
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=miniosecret
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio-{0...1}/bitnami/minio/data-{0...1}
  minio-1:
    image: 'registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest'
    volumes:
      - 'minio_1_data_0:/bitnami/minio/data-0'
      - 'minio_1_data_1:/bitnami/minio/data-1'
    environment:
      - MINIO_ROOT_USER=minio
      - MINIO_ROOT_PASSWORD=miniosecret
      - MINIO_DISTRIBUTED_MODE_ENABLED=yes
      - MINIO_DISTRIBUTED_NODES=minio-{0...1}/bitnami/minio/data-{0...1}
volumes:
  minio_0_data_0:
    driver: local
  minio_0_data_1:
    driver: local
  minio_1_data_0:
    driver: local
  minio_1_data_1:
    driver: local

在MinIO® 文档中查找有关分布式模式的更多信息。

在容器重新启动时重新配置密钥

MINIO_ROOT_USERMinIO® 在第一次初始化期间分别根据和环境变量配置访问密钥和密钥MINIO_ROOT_PASSWORD。

使用持久性时,MinIO® 将默认重用第一次初始化期间配置的数据,忽略这些环境变量上设置的任何值。MINIO_FORCE_NEW_KEYS您可以通过将环境变量设置为:来强制 MinIO® 根据环境变量重新配置密钥yes:

docker run --name minio \
    --publish 9000:9000 \
    --publish 9001:9001 \
    --env MINIO_FORCE_NEW_KEYS="yes" \
    --env MINIO_ROOT_USER="new-minio-root-user" \
    --env MINIO_ROOT_PASSWORD="new-minio-root-password" \
    --volume /path/to/minio-persistence:/bitnami/minio/data \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest

日志

docker logs minio

或使用 Docker Compose:

docker-compose logs minio

HTTP 日志跟踪

要启用 HTTP 日志跟踪,您可以设置环境变量MINIO_HTTP_TRACE以将日志重定向到特定文件,如MinIO® 文档中详述。

当将此环境变量设置为 时/opt/bitnami/minio/log/minio.log,日志将发送到stdout.

docker run --name minio \
    --publish 9000:9000 \
    --publish 9001:9001 \
    --env MINIO_HTTP_TRACE=/opt/bitnami/minio/log/minio.log \
    registry.cn-hangzhou.aliyuncs.com/qingcloudtech/qingcloud-oss:latest

或者通过修改docker-compose.yml文件:

services:
  minio:
  ...
    environment:
      - MINIO_HTTP_TRACE=/opt/bitnami/minio/log/minio.log
  ...

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取

开源地址: https://gitee.com/qingplus/qingcloud-platform

Qinghub Studio 在线体验文章来源地址https://www.toymoban.com/news/detail-857773.html

到了这里,关于【Docker】Minio 容器化部署配置详情的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker部署minio

    1. 拉取镜像 2. 创建映射目录 3. 启动容器 9090 端口指的是minio的客户端端口 MINIO_ROOT_USER:账号 MINIO_ROOT_PASSWORD:密码(账号长度必须大于等于5,密码长度必须大于等于8位) 1. 下载minio linux安装包 官网地址 2. 部署minio 3. 启动minio

    2024年02月16日
    浏览(26)
  • 【Docker 部署Minio】

    访问Docker Hub镜像站找到自己需要的Minio镜像 运行以下命令 1、创建如下目录 2、创建容器并运行 多行命令 单行命令 访问 http://ip:9090 用户名:密码 minioadmin:minioadmin

    2024年02月11日
    浏览(23)
  • docker、docker-compose、Https部署Minio,去除Minio文件过期时间教程

    系统:CentOS7 Docker:v24.0.7 DockerCompose:v2.23.1 Docker Minio镜像 minio/minio:RELEASE.2022-04-16T04-26-02Z ,版本再高一些的上传文件后服务器保存的不是xxx.png格式的图片,而是一个以图片名命名的目录,里面是一些看不懂的文件。不知道新版本怎么改能正常显示图片。 如果Https部署,需要

    2024年02月04日
    浏览(40)
  • 使用Docker部署MinIO服务器

    说明:之前有介绍过如何在项目中使用MinIO及整合成起步依赖在项目中使用,本文介绍如何使用Docker部署MinIO服务器。 首先,需要在服务器上安装Docker,参考Docker安装卸载,Docker常用命令。 安装完之后,敲下面的命令查看Docker版本; 输入下面的命令,拉取MinIO的镜像,不加版

    2024年01月19日
    浏览(62)
  • docker-compose部署minio集群

    提示:本文是在Dokcer Desktop环境下部署。 docker部署单机minio 之前有讲过,这里就不在重复 提示:quay.io/minio/minio是稳定版本 docker pull quay.io/minio/minio 分别创建 C:DockerDataminio-clusterminio1和C:DockerDataminio-clusterminio2文件夹 然后再minio1/minio2中分别创建config、data1和data2文件夹 提示

    2024年02月12日
    浏览(49)
  • 如何在Docker中搭建MinIO容器并实现无公网ip远程访问本地服务

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年01月17日
    浏览(49)
  • 如何在CentOS使用Docker搭建MinIO容器并实现无公网ip远程访问本地服务

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年04月15日
    浏览(44)
  • docker-compose部署django+nginx+minio

    总体文件结构   docker-compose.yml文件    Dockerfile文件   start.sh文件   uwsgi.ini文件   nginx配置文件  

    2024年02月08日
    浏览(94)
  • 使用docker完成minio服务部署扩容备份迁移生产实践文档

    当服务器存储空间不足的时候,需要进行扩容,扩容过程中需要短暂停机时间,预计在一小时内能够完成和恢复 统一注意事项 强烈建议为部署中的所有节点选择基本相似的硬件配置。确保硬件(CPU、内存、主板、存储适配器)和软件(操作系统、内核设置、系统服务)在所

    2024年02月03日
    浏览(52)
  • Linux下使用Docker部署MinIO存储服务实现远程上传

    本文主要是Linux下通过Docker部署MinIO存储服务实现远程上传的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点,优秀一点 前言 MinIO是一个开源的对象存储服务器,可以在各种环

    2024年02月19日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包