通过Docker部署MinIO对象存储服务,并指定API端口为9105,可以按照以下步骤进行。我们将基于已有的资料来详细说明这一过程。
1. 准备工作
首先,确保你的系统上已经安装了Docker。如果没有安装,可以根据官方文档指导完成安装。接下来,创建用于存储MinIO数据和配置文件的目录。这里我们选择在/usr/local/minio
下创建两个子目录:data
用于存放实际的数据,而config
则用来保存MinIO的配置信息。
mkdir -p /usr/local/minio/data
mkdir -p /usr/local/minio/config
2. 拉取MinIO镜像
使用docker pull
命令从Docker Hub拉取最新的MinIO镜像:
docker pull minio/minio
这一步会下载MinIO的官方镜像到本地机器上。
3. 启动MinIO容器
接下来,我们需要运行一个Docker容器来启动MinIO服务。为了满足您提出的将API端口设置为9105的需求,我们将修改默认的端口映射规则。同时,我们还会为控制台分配另一个端口(例如9106),以避免冲突。以下是完整的命令示例:
docker run \
--name minio \
-p 9105:9000 \ # 将主机的9105端口映射到容器内的9000端口,用于S3 API访问
-p 9106:9090 \ # 将主机的9106端口映射到容器内的9090端口,用于Web控制台访问
-d \
--restart=always \
-e "MINIO_ROOT_USER=admin" \ # 设置管理员用户名
-e "MINIO_ROOT_PASSWORD=admin123456" \ # 设置管理员密码
-v /usr/local/minio/data:/data \ # 挂载数据卷
-v /usr/local/minio/config:/root/.minio \ # 挂载配置卷
minio/minio server /data --console-address ":9090" --address ":9000"
在这个命令中,-p 9105:9000
表示将宿主机的9105端口映射到容器内部的9000端口,这是MinIO提供S3兼容API服务的地方;而-p 9106:9090
则是将宿主机的9106端口映射到容器内的9090端口,供MinIO Web控制台使用。此外,我们还设置了自动重启策略(--restart=always
),以便在Docker服务重启时自动恢复MinIO容器。
4. 验证部署
一旦容器成功启动,你可以通过浏览器访问http://<your-server-ip>:9106
来打开MinIO的Web界面,并使用之前设置的用户名和密码登录。对于API请求,则可以通过http://<your-server-ip>:9105
来进行。
5. 注意事项
- 端口冲突:确保所选端口(如9105和9106)没有被其他应用程序占用。
- 安全性:考虑到安全因素,建议启用SSL/TLS加密,并且不要在生产环境中使用简单的默认凭证。
- 持久化存储:上述命令中的
-v
选项用于将容器内的路径与宿主机上的目录关联起来,从而实现数据的持久化。 - 环境变量:请注意,较新的MinIO版本推荐使用
MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
代替旧版中的MINIO_ACCESS_KEY
和MINIO_SECRET_KEY
来定义访问凭证。
通过以上步骤,你应该能够顺利地通过Docker部署MinIO,并将其API端口设置为9105。如果遇到任何问题或有进一步的需求,请参考官方文档或其他社区资源获取帮助。