使用Docker搭建自己的专属OSS

公有云厂商提供的OSS好用是好用,但价格略贵,而且一不留神就别人薅了羊毛,流量清零。另外把一些敏感或者私人数据放上去可能也不放心,那就自己搭建一个专属OSS吧!

MinIO是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能。麻雀虽小,五脏俱全,该有的功能应有尽有。

话不多说,这就开始!

1、拉取镜像

docker run --name minio bitnami/minio:latest
这里使用 Bitnami 提供的镜像省事,优点可以参考他们的说法:
传送门

注意!这里有个大坑,bitnami/minio 最新版对系统内核有要求,需要4.0.0及以上,若达不到要求则启动失败

而我的服务器是3.10.0的,被这个卡了一天,容器无限重启,死活找不到原因,最后偶然看到大佬的一个issue,添加了BITNAMI_DEBUG=true环境变量,才终于找到原因所在,后来替换版本为2022.12.12 才终于搞定。

因此若有类似情况的朋友可以尝试降低版本。

$ cat /proc/version 
Linux version 3.10.0-1160.99.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Sep 13 14:19:20 UTC 2023

$ docker images -a
REPOSITORY      TAG          IMAGE ID       CREATED         SIZE
bitnami/minio   2022.12.12   5be24c0d82cd   12 months ago   229MB

2、创建docker-compose.yml

创建docker-compose.yml,填写以下内容:

version: '2'

# networks可要可不要,若是需要容器间通信可配置此项
networks:
  app-tier:
    driver: bridge

services:
  server:
    container_name: minio
    image: bitnami/minio:2022.12.12
    environment:
      # 以下两项即访问页面的用户名与密码,切记长度不能少于8
      - MINIO_ROOT_USER=aaaa1234
      - MINIO_ROOT_PASSWORD=bbbb1234
      # 开启调试信息
      - BITNAMI_DEBUG=true
    volumes:
      - 'minio_data:/bitnami/minio/data'
    ports:
      - "9000:9000"
      - "9001:9001"
    restart: always
    networks:
      - app-tier

volumes:
  minio_data:
    driver: local

3、启动

docker-compose.yml 文件所在目录下执行命令:

docker-compose up -d

待启动完成后访问9001端口即可。

4、问题排查

补充一点问题的排查思路,一开始我在部署的时候,发现明明容器已经启动了,但就是访问不了页面,查看日志发现大量重复日志:

$ docker logs minio
....

Adding local Minio host to 'mc' configuration...
...

Failed to add temporary MinIO server
minio 16:16:58.15 INFO  ==> MinIO is already stopped...

如果容器设置了参数restart=always,会发现容器貌似启动,但无法正常访问。

没设置的话则容器会自动停止。经过网上查询及我自己实验,可能的原因有以下两种:

1、密码长度太短,MinIO要求密码长度不能少于8,可以检查MINIO_ROOT_USERMINIO_ROOT_PASSWORD这两项,看看长度是否符合要求。

2、系统内核版本太低,最新版MinIO要求4.0.0及以上,否则也会启动失败。

如果以上两种方案都不能解决问题,那就给容器添加BITNAMI_DEBUG=true环境变量,它会打印更加详细的错误信息,再根据错误信息自行排查。

另外,若容器启动成功,也正常运行,但页面无法访问,不妨看一下防火墙安全组ACL这些是否放通过了对应端口。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值