踩坑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
评论区