如何通过docker 部署minio,端口号为9105

通过Docker部署MinIO对象存储服务,并指定API端口为9105,可以按照以下步骤进行。我们将基于已有的资料来详细说明这一过程。

1. 准备工作

首先,确保你的系统上已经安装了Docker。如果没有安装,可以根据官方文档指导完成安装。接下来,创建用于存储MinIO数据和配置文件的目录。这里我们选择在/usr/local/minio下创建两个子目录:data用于存放实际的数据,而config则用来保存MinIO的配置信息。

bash 复制代码
mkdir -p /usr/local/minio/data
mkdir -p /usr/local/minio/config

2. 拉取MinIO镜像

使用docker pull命令从Docker Hub拉取最新的MinIO镜像:

bash 复制代码
docker pull minio/minio

这一步会下载MinIO的官方镜像到本地机器上。

3. 启动MinIO容器

接下来,我们需要运行一个Docker容器来启动MinIO服务。为了满足您提出的将API端口设置为9105的需求,我们将修改默认的端口映射规则。同时,我们还会为控制台分配另一个端口(例如9106),以避免冲突。以下是完整的命令示例:

bash 复制代码
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_USERMINIO_ROOT_PASSWORD代替旧版中的MINIO_ACCESS_KEYMINIO_SECRET_KEY来定义访问凭证。

通过以上步骤,你应该能够顺利地通过Docker部署MinIO,并将其API端口设置为9105。如果遇到任何问题或有进一步的需求,请参考官方文档或其他社区资源获取帮助。

相关推荐
我爱挣钱我也要早睡!19 小时前
Java 复习笔记
java·开发语言·笔记
AD钙奶-lalala21 小时前
Mac OS上搭建 http server
java
皮皮林5511 天前
SpringBoot 全局/局部双模式 Gzip 压缩实战:14MB GeoJSON 秒变 3MB
java·spring boot
weixin_456904271 天前
Spring Boot 用户管理系统
java·spring boot·后端
趁你还年轻_1 天前
异步编程CompletionService
java
DKPT1 天前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
sibylyue1 天前
Guava中常用的工具类
java·guava
奔跑吧邓邓子1 天前
【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
java·spring boot·实战·web开发·接口设计
专注API从业者1 天前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
奔跑吧邓邓子1 天前
【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
java·spring boot·实战·自动配置