Ubuntu22.04(WSL2)使用 Docker 安装 MinIO
MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。本文将指导你在 WSL2 的 Ubuntu 22.04 环境下通过 Docker 安装和配置 MinIO。
环境准备
操作系统: WSL2 Ubuntu 22.04
前提条件: 已安装 Docker 和 Docker Compose
步骤
- 创建 MinIO 数据目录
为 MinIO 创建一个持久化存储数据的目录,并设置适当的权限。
# 创建数据目录,-p 确保父目录不存在时自动创建。
mkdir -p /home/minio/data
# 递归设置目录权限为 777,确保 MinIO 容器有读写权限。
chmod 777 -R /home/minio/*
- 运行 MinIO 容器
使用以下 Docker 命令启动 MinIO 服务,并为每个参数添加详细注释。
docker run -dt \--name minio-server \ # 容器名称,方便管理和识别--network host \ # 使用主机网络模式,直接绑定宿主机端口-p 9000:9000 \ # 映射 MinIO API 端口到宿主机的 9000 端口-p 9001:9001 \ # 映射 MinIO 控制台端口到宿主机的 9001 端口-v /home/minio/data:/mnt/data \ # 将宿主机的 /home/minio/data 挂载到容器内的 /mnt/data-e "MINIO_CONFIG_ENV_FILE=/etc/config.env" \ # 指定 MinIO 配置文件路径-e "MINIO_ROOT_USER=your_user_name" \ # 设置 MinIO 管理员用户名-e "MINIO_ROOT_PASSWORD=your_password" \ # 设置 MinIO 管理员密码minio/minio:RELEASE.2025-04-22T22-12-26Z \ # 指定 MinIO 镜像版本server /data --console-address ":9001" # 启动 MinIO 服务,指定数据目录和控制台端口
参数说明:
- -dt: 后台运行容器(-d)并分配伪终端(-t)。
- –name minio-server: 为容器命名,方便后续操作。
- –network host: 使用宿主机网络,简化端口映射和网络配置。
- -p 9000:9000: 映射 MinIO 的 API 端口,用于客户端访问。
- -p 9001:9001: 映射 MinIO 的 Web 控制台端口。
- -v /home/minio/data:/mnt/data: 将宿主机目录挂载到容器,确保数据持久化。
- -e “MINIO_CONFIG_ENV_FILE=/etc/config.env”: 设置环境变量,指定配置文件路径。
- -e “MINIO_ROOT_USER=your_user_name”: 设置管理员用户名,替换为你的用户名。
- -e “MINIO_ROOT_PASSWORD=your_password”: 设置管理员密码,替换为你的密码(建议使用强密码)。
- minio/minio:RELEASE.2025-04-22T22-12-26Z: 使用指定的 MinIO 镜像版本。这里,其实也可以不指定版本,但是指定版本,可以避免因安装时间过久,后期在升级过程找不到当前版本的情况。
- server /data --console-address “:9001”: 启动 MinIO 服务,指定存储路径为 /data,控制台监听 9001 端口。
- 验证 MinIO 安装
- 打开浏览器,访问
http://localhost:9001。
- 使用 your_user_name 和 your_password 登录 MinIO 控制台。
- 登录成功后,你可以创建存储桶、上传文件等。
- 管理 MinIO 容器
# 查看容器状态:
docker ps# 停止容器:
docker stop minio-server# 启动容器:
docker start minio-server# 删除容器:
docker rm minio-server
注意事项
- 权限问题: 确保 /home/minio/data 目录具有足够的权限,避免容器读写错误。
- 密码安全: MINIO_ROOT_PASSWORD 建议设置为至少 8 位,包含字母、数字和特殊字符。
- 网络模式: 使用 --network host 简化配置,但如果你需要隔离网络,可以改为桥接模式并调整端口映射。
- 版本选择: 本文使用 RELEASE.2025-04-22T22-12-26Z,可根据需要替换为最新版本,查看 Docker Hub 获取最新标签。
总结
通过以上步骤,已在 WSL2 Ubuntu 22.04 上成功部署了 MinIO 对象存储服务。MinIO 的简单性和高性能使其非常适合本地开发和测试环境。接下来,你可以进一步探索 MinIO 的 S3 兼容 API,集成到你的应用程序中。