Linux上使用Docker安装MinIO指南

前置要求

  • Linux服务器(Ubuntu/CentOS/Debian等)

  • 已安装Docker和Docker Compose

  • 服务器开放9000和9001端口(或自定义端口)

方法一:使用Docker命令直接运行(推荐快速测试)

1. 拉取MinIO镜像

复制代码
docker pull minio/minio

2. 创建数据目录

复制代码
mkdir -p /opt/minio/data
mkdir -p /opt/minio/config

3. 运行MinIO容器

复制代码
docker run -d \
  --name minio \
  --restart=always \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=minio123" \
  -e "MINIO_ROOT_PASSWORD=minio123" \
  -v /opt/minio/data:/data \
  -v /opt/minio/config:/root/.minio \
  minio/minio server /data \
  --console-address ":9001"

参数说明:

  • -d: 后台运行

  • --name minio: 容器名称

  • --restart=always: 开机自启

  • -p 9000:9000: API端口映射

  • -p 9001:9001: 控制台端口映射

  • -e MINIO_ROOT_USER: 管理员用户名

  • -e MINIO_ROOT_PASSWORD: 管理员密码

  • -v /opt/minio/data:/data: 数据目录挂载

  • --console-address ":9001": 控制台访问地址

方法二:使用Docker Compose(推荐生产环境)

1. 创建docker-compose.yml文件

复制代码
mkdir -p /opt/minio
cd /opt/minio
vim docker-compose.yml

2. docker-compose.yml内容

复制代码
version: '3.8'
​
services:
  minio:
    image: minio/minio:latest
    container_name: minio
    restart: always
    ports:
      - "9000:9000"   # API端口
      - "9001:9001"   # 控制台端口
    environment:
      MINIO_ROOT_USER: minio123
      MINIO_ROOT_PASSWORD: minio123
    volumes:
      - ./data:/data
      - ./config:/root/.minio
    command: server /data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

3. 启动MinIO

复制代码
# 创建数据目录
mkdir -p data config

​
# 启动服务
docker-compose up -d

​
# 查看日志
docker-compose logs -f minio

4. 停止和重启

复制代码
# 停止
docker-compose down
​
# 重启
docker-compose restart
​
# 查看状态
docker-compose ps

方法三:使用自定义配置(生产环境推荐)

1. 创建配置文件

复制代码
mkdir -p /opt/minio/{data,config}

2. 运行容器(自定义端口和路径)

复制代码
docker run -d \
  --name minio \
  --restart=always \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=你的用户名" \
  -e "MINIO_ROOT_PASSWORD=你的强密码" \
  -v /opt/minio/data:/data \
  -v /opt/minio/config:/root/.minio \
  minio/minio server /data \
  --console-address ":9001" \
  --address ":9000"

访问MinIO

API访问地址

复制代码
http://你的服务器IP:9000

控制台访问地址

复制代码
http://你的服务器IP:9001

使用配置的用户名和密码登录控制台。

与项目配置对接

根据您的application.yml配置,确保以下设置:

复制代码
minio:
  endpoint: http://132.232.198.207:9000  # 修改为你的服务器IP
  accessKey: minio123                     # 与MINIO_ROOT_USER一致
  secretKey: minio123                     # 与MINIO_ROOT_PASSWORD一致
  bucketName: zhiyan
  usePathStyleAccess: true
  enable: true

创建存储桶(Bucket)

方法1:通过控制台创建

  1. 访问 http://你的服务器IP:9001

  2. 登录后点击"Create Bucket"

  3. 输入桶名称:zhiyan

  4. 设置访问策略(如果需要公开访问)

方法2:使用MinIO客户端(mc)

复制代码
# 下载mc客户端
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin/

# 配置MinIO服务器
mc alias set myminio http://你的服务器IP:9000 minio123 minio123

# 创建存储桶
mc mb myminio/zhiyan

# 设置存储桶策略(公开读)
mc anonymous set download myminio/zhiyan

# 列出存储桶
mc ls myminio

防火墙配置

CentOS/RHEL

复制代码
# 开放端口
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=9001/tcp
firewall-cmd --reload

Ubuntu/Debian

复制代码
# 使用ufw
ufw allow 9000/tcp
ufw allow 9001/tcp
ufw reload

数据备份

MinIO的数据存储在挂载的目录中,定期备份/opt/minio/data目录即可:

复制代码
# 备份示例
tar -czf minio-backup-$(date +%Y%m%d).tar.gz /opt/minio/data

常用管理命令

复制代码
# 查看容器状态
docker ps | grep minio

# 查看日志
docker logs -f minio

# 进入容器
docker exec -it minio sh

# 停止容器
docker stop minio

# 启动容器
docker start minio

# 删除容器(注意:不会删除数据)
docker rm minio

# 查看资源使用
docker stats minio

故障排查

1. 端口被占用

复制代码
# 检查端口占用
netstat -tulpn | grep 9000
lsof -i:9000

# 修改端口映射
# 将 -p 9000:9000 改为 -p 其他端口:9000

2. 权限问题

复制代码
# 确保数据目录有写权限
chmod -R 777 /opt/minio/data
chown -R 1000:1000 /opt/minio/data  # MinIO默认使用UID 1000

3. 无法访问控制台

  • 检查防火墙设置

  • 确认控制台端口映射正确(应该是9001)

  • 检查容器日志:docker logs minio

4. 连接超时

  • 检查网络连接

  • 验证endpoint地址是否正确

  • 检查防火墙和SELinux设置

生产环境建议

  1. 使用强密码 :不要使用默认的minio123,改为复杂密码

  2. 启用SSL/TLS:生产环境建议配置HTTPS

  3. 定期备份:设置自动备份任务

  4. 监控资源:监控磁盘空间和容器资源使用

  5. 日志管理:配置日志轮转避免日志文件过大

  6. 多节点部署:生产环境考虑MinIO分布式部署

验证安装

安装完成后,运行以下命令验证:

复制代码
# 检查容器状态
docker ps | grep minio

# 测试API
curl http://localhost:9000/minio/health/live

# 访问控制台
curl -I http://localhost:9001

如果都能正常响应,说明MinIO安装成功!

相关推荐
毕设源码-朱学姐11 小时前
【开题答辩全过程】以 基于微服务架构的会计云学堂的设计与实现为例,包含答辩的问题和答案
微服务·云原生·架构
Geoking.13 小时前
技术考古:去IOE
云原生
Warren9815 小时前
面试和投简历闲聊
网络·学习·docker·面试·职场和发展·eureka·ansible
拾忆,想起17 小时前
Dubbo深度解析:从零到一,高性能RPC框架如何重塑微服务架构
网络协议·微服务·云原生·性能优化·rpc·架构·dubbo
沉迷技术逻辑17 小时前
Docker部署与常用命令
java·docker·eureka
csdn_aspnet18 小时前
当云原生遇见VMware
云原生·vmware·虚拟机
安当加密18 小时前
动态脱敏在微服务网关中的实现原理
微服务·云原生·架构
CAFEBABE 341 天前
linux离线安装docker并启动
linux·docker·eureka
Hernon1 天前
微服务架构设计 - 可降级设计
微服务·云原生·架构
测试人社区—小叶子2 天前
测试开发面试高频“灵魂八问”深度解析与应答策略
网络·人工智能·测试工具·云原生·容器·面试·职场和发展