第一个问题-绑定端口
当使用如下命令运行minio容器后
docker run -p 9000:9000 --name minio -d --restart=always
-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123"
-v /home/minio/data:/data
-v /home/minio/config:/root/.minio minio/minio server /data
在浏览器端输入htttp:\\remote:9090
无法访问
解决办法:在后面添加上--console-address ":9000" --address ":9001"
, 原因解释如下:好像是端口动态变化的原因。具体参考如下:参考01
docker run -p 9000:9000 --name minio -d --restart=always
-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123"
-v /home/minio/data:/data
-v /home/minio/config:/root/.minio minio/minio server /data
--console-address ":9000" --address ":9001"
按照上面的运行容器之后,网页端访问9000端口可以成功访问,但是会出现另一个问题:无法使用java代码向minio发送文件,具体见下个问题。
Java代码连接minio服务超时
Java代码:
public class MinioExample {
public static void main(String[] args) throws Exception {
MinioClient minioClient = MinioClient.builder()
.credentials("minio", "minio123")
.endpoint("http://remote:9001")
.build();
// Make 'asiatrip' bucket if not exist.
boolean found =
minioClient.bucketExists(BucketExistsArgs.builder().bucket("asiatrip").build());
if (!found) {
// Make a new bucket called 'asiatrip'.
minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build());
} else {
System.out.println("Bucket 'asiatrip' already exists.");
}
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("asiatrip")
.object("tet.zip")
.filename("D://tet.zip")
.build());
// 上传文件
System.out.println("文件上传成功!");
}
}
问题描述:
但是如果使用如下方式运行就没有问题了(给两个端口都建立映射):
docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always
-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123"
-v /home/minio/data:/data
-v /home/minio/config:/root/.minio minio/minio server /data
--console-address ":9000" --address ":9001"