上两篇文章中我琢磨出了成功创建并运行minio容器的方法。但是在IDEA里发送http请求上传本地文件到minio中的bucket却失败了,报错是Non-XML response from server,没有接收到期望的 xml 格式的返回数据。
检查了文件格式和传输过程都没问题,最后排查出应该是访问minio的路径出错。
最后发现我原本创建 minio 容器的命令中,只把容器内的9000端口映射到主机的9000端口,而没有把9001端口映射到主机。而我又指定了控制台是9000端口、主服务是9001端口。所以找到了错误:没有在映射的主机上指定外界访问和上传的端口。
于是重新安装并运行了一个 minio 容器,新的命令如下:
docker run -d --name minio --restart=always -p 9000:9000 -p 9001:9001 --env MINIO_ROOT_USER="minio" --env MINIO_ROOT_PASSWORD="minio123" --env MINIO_SKIP_CLIENT="yes" -v /root/minio/minio-data:/data -v /root/minio/minio-config:/root/.minio --network hm-net minio/minio server /data --console-address ":9000" --address ":9001"
现在能通过9000端口正常访问控制台,也能通过9001端口正常上传文件。