MinIO 是一个高性能的分布式对象存储服务,它兼容亚马逊S3云存储服务。MinIO 适用于存储非结构化数据,例如照片、视频、日志文件等。它具有高可用性、扩展性强和安装简单等特点。
本教程将介绍如何使用 Docker CLI 和 Docker Compose 两种方式来搭建 MinIO 分布式存储服务。
使用 Docker CLI 搭建 MinIO
首先,确保 Docker 已经安装在系统上。接下来,我们将通过 Docker CLI 来运行 MinIO 容器。
拉取 MinIO 镜像
docker pull minio/minio
这个命令将从 Docker Hub 下载 MinIO 官方提供的镜像。
启动 MinIO 容器
使用以下命令启动一个 MinIO 分布式存储服务容器:
docker run -p 9000:9000 \ -e "MINIO_ROOT_USER=<ACCESS_KEY>" \ -e "MINIO_ROOT_PASSWORD=<SECRET_KEY>" \ --name minio-objectstorage \ -d minio/minio server /data
参数解释:
-p 9000:9000
: 将容器的 9000 端口映射到宿主机的 9000 端口,这是 MinIO 服务监听的端口。-e "MINIO_ROOT_USER=<ACCESS_KEY>"
: 设置 MinIO 的访问密钥(Access Key),替换<ACCESS_KEY>
为你自定义的密钥。-e "MINIO_ROOT_PASSWORD=<SECRET_KEY>"
: 设置 MinIO 的秘密密钥(Secret Key),替换<SECRET_KEY>
为你自定义的密钥。--name minio-objectstorage
: 给容器命名为minio-objectstorage
。-d
: 后台运行容器。minio/minio
: 使用的 MinIO 镜像。server /data
: 指定 MinIO 服务启动时的参数,/data
是存储数据的目录。
使用 Docker Compose 搭建 MinIO
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。下面是一个简单的 docker-compose.yml
文件示例,用于启动 MinIO 分布式存储服务。
创建
docker-compose.yml
文件在本地目录下创建一个名为
docker-compose.yml
的文件,并添加以下内容:version: '3' services: minio: image: minio/minio ports: - "9000:9000" environment: - "MINIO_ROOT_USER=<ACCESS_KEY>" - "MINIO_ROOT_PASSWORD=<SECRET_KEY>" volumes: - minio-data:/data networks: - minio-network volumes: minio-data: networks: minio-network:
参数解释:
version: '3'
: Docker Compose 文件版本。services
: 定义服务。minio
: 服务名称。image
: 使用的 MinIO 镜像。ports
: 端口映射。"9000:9000"
: MinIO 服务监听的端口映射。
environment
: 环境变量设置。"MINIO_ROOT_USER=<ACCESS_KEY>"
: 设置 MinIO 的访问密钥。"MINIO_ROOT_PASSWORD=<SECRET_KEY>"
: 设置 MinIO 的秘密密钥。
volumes
: 卷挂载。minio-data:/data
: 将minio-data
卷挂载到容器的/data
目录,用于存储数据。
networks
: 指定网络。minio-network
: 服务连接的网络。
volumes
: 定义卷。minio-data
: 自定义卷名称。
networks
: 定义网络。minio-network
: 自定义网络名称。
启动 MinIO 服务
在包含
docker-compose.yml
文件的目录下,运行以下命令来启动 MinIO 服务:docker-compose up -d
-d
参数表示在后台运行服务。
通过以上步骤,你已经成功使用 Docker CLI 和 Docker Compose 两种方式搭建了一个 MinIO 分布式存储服务。现在,你可以通过访问 http://localhost:9000
并使用之前设置的访问密钥和秘密密钥来访问和管理你的 MinIO 存储服务。