docker-compose启动Minio

本文记录了一位工程师在Linux虚拟机上使用docker-compose安装Minio遇到的问题及解决方案。Minio作为OSS服务器,与MySQL和Redis一起部署。在安装过程中,Minio的API端口默认为9000,控制台端口随机分配,通过docker-compose配置文件指定端口后,由于重启命令不当导致端口未生效。正确做法是停止容器后再启动。文章提醒读者注意端口配置和重启操作,以免浪费时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     笔者在工作中需要使用Minio做为OSS服务器,为了方便和不影响系统,mysql、Redis和Minio使用docker-compose安装在同一台linux虚拟机上,MySql和Redis的安装没有什么问题,Minio就折腾了我几个小小时的时候,特别记录一下。最终的Minio Docker-compose的命令编排如下:

 

minio:
    image: minio/minio
    hostname: "minio"
    ports:
      - 9090:9090 # api 端口
      - 9091:9091 # 控制台端口
    environment:
      MINIO_ACCESS_KEY: admin #管理后台用户名
      MINIO_SECRET_KEY: admin123 #管理后台密码,最小8个字符
    volumes:
      - ./minio/data:/data               #映射当前目录下的data目录至容器内/data目录
      #- ./minio/config:/root/.minio/     #映射配置目录
    command: server --console-address ':9091' --address ':9090' /data  #指定容器中的目录 /data
    privileged: true
    restart: always

     我安装的时Minio的最新镜像版本,在此版本中,console端口和api端口需要两个,如果在启动命令中没有指定端口,则api端口默认为9000端口,console端口是系统随机指定,每次都不一样,很不方便。通过 --console-address 参数指定管理控制台端口号,--address指定api端口号。

       我在安装过程中,修改了端口号,但是重启时使用docker-compose restart命令,导致新修改的端口号没有生效,api端口仍旧时9000,使用docker-compose logs minio命令才发现问题,使用docker-compose stop 后再调用docker-compose up -d 才解决问题。

        随便做个记录,希望看到的工程师们少走弯路。

<think>好的,我现在需要帮助用户解决如何使用docker-compose部署MinIO容器的问题。首先,我需要回忆一下MinIO的基本知识,以及docker-compose的常用配置方法。用户提到了几个引用,里面有安装docker-compose和部署MinIO集群的信息,可能需要参考这些内容。 首先,用户的问题是如何使用docker-compose部署MinIO容器。根据引用中的信息,用户可能已经安装了docker-compose,但需要具体的配置步骤。我应该先提供一个简单的单节点MinIO部署的docker-compose.yml示例,因为这是最常见的需求,适合初次使用者。 接下来,我需要确保docker-compose文件的语法正确。MinIO通常需要指定访问密钥和密钥,所以要在environment部分设置MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。同时,数据卷的挂载也很重要,确保数据持久化。端口映射方面,MinIO默认使用9000和9090端口,分别用于API和管理界面。 然后,用户可能还希望部署集群模式,但引用中提到的是集群部署,不过可能用户的问题只是单节点。不过,考虑到引用[1]提到了集群,可能需要提供集群配置的示例,但可能需要更多的细节,比如多个节点和驱动器的配置。不过,对于初次使用者,可能单节点更简单,所以先给出单节点,再补充集群的配置。 另外,用户可能需要注意版本兼容性,确保使用的镜像版本是稳定的。比如使用quay.io/minio/minio:latest或者指定特定版本。同时,启动命令中的server --console-address :9090是为了启用管理控制台,这是必要的参数。 然后,启动命令是docker-compose up -d,这需要用户已经正确安装了docker-compose,如引用[2]中的安装步骤。可能还需要提醒用户如果遇到权限问题,需要给docker-compose执行权限,或者使用sudo。 最后,验证部署是否成功,通过访问9000端口和9090端口,使用设置的账号密码登录。这部分需要包含在回答中,确保用户知道如何测试服务是否正常运行。 可能还需要注意数据持久化的路径,比如./data在本地目录,用户可能需要修改为合适的路径。另外,安全方面,提醒用户不要使用默认的账号密码,应该设置为复杂的值。 如果用户需要集群部署,可能需要更复杂的配置,比如多个节点、分布式存储,这需要更多的服务和卷配置,但可能超出了当前问题的范围。不过根据引用[1],用户可能确实需要集群配置,所以可能需要提供两种示例:单节点和集群。 检查引用[3]提到的是在CentOS下部署集群,可能需要卸载旧版本Docker,但用户的问题可能已经安装了docker-compose,所以可能不需要这部分,但可能需要确认环境是否满足。 总结步骤: 1. 创建docker-compose.yml文件,配置单节点MinIO。 2. 设置环境变量和卷挂载。 3. 执行docker-compose up -d启动。 4. 验证访问。 如果需要集群,则配置多个服务节点,每个节点指定不同的端口和数据目录,并确保网络配置正确。但可能用户的问题更偏向单节点,所以优先提供单节点配置,再扩展集群部分作为相关问题或补充。 确保在回答中引用正确的引用来源,比如引用[1]提到了启动命令,引用[2]是安装docker-compose的方法,引用[3]是卸载旧版本的步骤,可能在回答中不需要直接引用,但需要确保步骤正确。</think>以下是使用docker-compose部署MinIO容器的分步指南: ### 一、单节点部署MinIO 1. **创建docker-compose.yml文件** ```yaml version: '3.7' services: minio: image: quay.io/minio/minio:latest container_name: minio command: server /data --console-address :9090 environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin ports: - "9000:9000" - "9090:9090" volumes: - ./data:/data restart: unless-stopped ``` 2. **启动服务** ```bash docker-compose up -d # 直接执行启动命令[^1] ``` 3. **验证访问** - 控制台:`http://服务器IP:9090` - API地址:`http://服务器IP:9000` - 使用配置的账号密码登录(默认`minioadmin/minioadmin`) ### 二、集群部署(4节点) ```yaml version: '3.7' services: minio1: image: quay.io/minio/minio command: server http://minio{1...4}/data environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin volumes: - ./data1:/data minio2: image: quay.io/minio/minio command: server http://minio{1...4}/data environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin volumes: - ./data2:/data # 重复配置minio3、minio4... ``` ### 关键配置说明 1. **持久化存储**:通过`volumes`挂载本地目录,防止数据丢失 2. **安全建议**:必须修改默认凭证,建议密码复杂度满足: $$ \text{长度} \geq 12 \text{且包含大小写字母+数字+特殊字符} $$ 3. **网络要求**:集群部署需保证节点间网络延迟<15ms[^1]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值