minio安装&部署-MinIO 安装

时间:2024-05-09 20:12:44

MinIO 支持多种安装方式,包括二进制安装、Docker安装、Kubernetes安装等。

这里我们使用docker安装MinIO单节点版本。

1.拉取 MinIO 镜像

docker pull minio/minio:RELEASE.2022-01-04T07-41-07Z

这里我们拉取的是2022-01-04T07-41-07Z版本,这个是因为在使用standalone或filesystem模式的老版本minio中存储的是原文件,配合docker的目录挂载/映射,可以实现文件原样存储。

2.创建数据目录

mkdir -p /opt/minio/config
mkdir -p /opt/minio/data

3.运行容器

docker run -d  \
  --name minio \
  -p 9000:9000 \
  -p 9001:9001 \
  --restart=always \
  -v /opt/minio/data:/data \
  -v /opt/minio/config:/root/.minio \
  -e "MINIO_ACCESS_KEY=myminioadmin" \
  -e "MINIO_SECRET_KEY=myminioadmin" \
  minio/minio:RELEASE.2022-01-04T07-41-07Z \
  server /data \
  --console-address ":9001"
  • docker run: Docker 的命令,用于创建并启动一个新的容器。
  • -d: 表示以 detached 模式运行容器,即在后台运行。
  • -p 9000:9000: 将容器的 9000 端口映射到宿主机的 9000 端口。MinIO 默认使用 9000 端口进行 API 通信。
  • -p 9001:9001: 将容器的 9001 端口映射到宿主机的 9001 端口。这是 MinIO 控制台的端口。
  • –name minio: 为容器指定一个名称,这里设置为 minio。
  • –restart=always: 设置容器的重启策略,这里表示容器在退出时总是尝试重启。
  • -e “MINIO_ACCESS_KEY=myminioadmin”: 设置环境变量 MINIO_ACCESS_KEY,这是访问 MinIO 服务时使用的“用户名”。
  • -e “MINIO_SECRET_KEY=myminioadmin”: 设置环境变量 MINIO_SECRET_KEY,这是访问 MinIO 服务时使用的“密码”。
  • -v /opt/minio/data:/data: 使用 Docker 的卷(volume)将宿主机上的 /opt/minio/data 目录挂载到容器内的 /data 目录。这是 MinIO 存储数据的地方。
  • -v /opt/minio/config:/root/.minio: 将宿主机上的 /opt/minio/config 目录挂载到容器内的 /root/.minio 目录。这是存放 MinIO 配置的地方。
  • minio/minio:RELEASE.2022-01-04T07-41-07Z: 指定要使用的 Docker 镜像,这里是 MinIO 的官方镜像。
  • server /data: 这是传递给 MinIO 镜像的命令,指示它以服务器模式启动,并且数据存储在 /data 目录。
  • –console-address “:9001”: 指定 MinIO 控制台的监听地址和端口。

4.访问 MinIO 控制台

通过浏览器访问 http://<你的IP地址>:9001,使用步骤 3 中设置的 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY 作为用户名和密码登录。

请添加图片描述
请添加图片描述

5.重启,停止和删除容器

重启容器:

docker restart minio

如果需要停止 MinIO 容器,可以使用以下命令:

docker stop minio

删除容器:

docker rm minio

6.开启TLS访问

要在 Docker 中部署支持 SSL 的 MinIO 容器,你需要拥有 SSL 证书(public.crt)和私钥文件(private.key)。

在opt/minio/config目录下创建certs文件夹,将 SSL 证书和私钥放在certs文件夹下,重启minio容器。

注意:部署ssl证书后, MinIO 控制台的地址会变为https://<你的域名>:9001。

如果登录报错Invalid Login:Post “https://172.17.0.3:9000/”: x509: cannot validate certificate for 172.17.0.3 because it doesn’t contain any IP SANs,

请添加图片描述

需要在启动minio容器添加环境变量 MINIO_SERVER_URL

完整命令如下:

docker run -d  \
  --name minio \
  -p 9000:9000 \
  -p 9001:9001 \
  --restart=always \
  -v /opt/minio/data:/data \
  -v /opt/minio/config:/root/.minio \
  -e "MINIO_ACCESS_KEY=myminioadmin" \
  -e "MINIO_SECRET_KEY=myminioadmin" \
  -e "MINIO_SERVER_URL=https://你的域名:9000" \
  minio/minio:RELEASE.2022-01-04T07-41-07Z \
  server /data \
  --console-address ":9001"

7. 注意事项

  • 请确保 MinIO 数据目录 /opt/minio/data 持久化在宿主机上,以防止数据丢失。
  • 生产环境中,应考虑设置更复杂的 MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY,并采用更安全的部署方式。
  • 要在 Docker 中部署支持 SSL 的 MinIO 容器,你需要拥有 SSL 证书和私钥文件。在