MinIO踩坑

踩坑1

docker安装启动MinIO

docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=xxx" -v /home/data:/data -v /home/config:/root/.minio  minio/minio server /data

访问502,并且有可能跳转到其他端口

解决

指定api端口和console端口,否则无法访问,最开始只限定了console端口,没有限定api端口,一直通过外网环境访问不到。

在以上命令后面加上 --console-address ":9000" --address ":9001"

docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=xxx" -v /home/data:/data -v /home/config:/root/.minio  minio/minio server /data --console-address ":9000"  --address ":9001"
  • -p 9000:9000:将主机的9000端口映射到容器的9000端口,以便可以通过主机的9000端口访问MinIO服务。
  • --name minio:指定容器的名称为"minio"。
  • -d:以后台模式运行容器。
  • --restart=always:在容器退出时自动重新启动容器。
  • -e "MINIO_ACCESS_KEY=minio":设置MinIO访问密钥为"minio"。这是用于访问MinIO服务的凭据之一。
  • -e "MINIO_SECRET_KEY=xxx":设置MinIO密钥为"xxx"。这是用于访问MinIO服务的凭据之一。
  • -v /home/data:/data:将主机的"/home/data"目录挂载到容器内的"/data"目录,用于持久化存储MinIO数据。
  • -v /home/config:/root/.minio:将主机的"/home/config"目录挂载到容器内的"/root/.minio"目录,用于持久化存储MinIO的配置文件。
  • minio/minio server /data:启动MinIO服务器,并将数据存储在容器内的"/data"目录。
  • --console-address ":9000":指定MinIO Web管理界面的地址为容器的9000端口。
  • --address ":9001":指定MinIO服务的地址为容器的9001端口。

注意: console端口和api端口,console端口是给后台页面使用的,9001端口则是我们需要集成到后台项目中用到的,比如集成到springboot中,配置里面用到的端口就是9001。

问题解决

踩坑2

拉取最新版minio镜像后java代码启动失败,报错Not XML....

解决

是因为最新版minio新建容器的命令不一样,api端口也要和console端口不一样,停止然后删除已创建的容器,重新创建

docker run -d \-p 9000:9000 \-p 9001:9001 \--name minio1 \-v /home/minio/data:/data \-e "MINIO_ROOT_USER=minio" \-e "MINIO_ROOT_PASSWORD=xxx" \minio/minio server /data --console-address ":9001" 

浏览器访问端口是9001,java代码中的端口是9000

end
Docker
MinIO

评论区

暂无评论