本篇博客主要记录在Docker当中安装MinIO。


目录

  • 一、查看docker环境是否正常
  • 二、下载minIO的镜像
  • 三、创建minIO容器
  • 四、访问地址
  • 五、安装遇到问题
  • 1、问题一
  • 2、问题二
  • 3、问题三


一、查看docker环境是否正常

在命令行使用docker search minIO


docker菜鸟教程安装mongoDB docker安装minio_docker

如果能查出来证明docker安装的没问题,然后开始下一步

二、下载minIO的镜像

docker pull minio/minio

三、创建minIO容器

minio官网:https://docs.min.io/docs/minio-docker-quickstart-guide.html

查看所有镜像

docker images

创建并启动minIO容器:

  • 这里的 \ 指的是命令还没有输入完,还需要继续输入命令,先不要执行的意思。
  • 这里的9090端口指的是minio的客户端端口。虽然设置9090,但是我们在访问9000的时候,他也会自动跳到9090。
  • 9000端口是minio的服务端端口,我们程序在连接minio的时候,就是通过这个端口来连接的。
  • -v就是docker run当中的挂载,这里的/mydata/minio/data:/data意思就是将容器的/data目录和宿主机的/mydata/minio/data目录做映射,这样我们想要查看容器的文件的时候,就不需要看容器当中的文件了。
  • 注意在执行命令的时候,他是会自动在宿主机当中创建目录的。我们不需要手动创建。
  • minio所上传的文件默认都是存储在容器的data目录下的!
  • 假如删除容器了宿主机当中挂载的目录是不会删除的。假如没有使用-v挂载目录,那他在宿主机的存储位置的文件会直接删除的。
  • 宿主机的挂载目录一定是根目录,如果是相对路径会有问题。还有容器当中的目录也是必须是绝对路径(根路径就是带/的)。
  • 所谓的挂载其实就是将容器目录和宿主机目录进行绑定了,操作宿主机目录,容器目录也会变化,操作容器目录,宿主机目录也会变化。这样做的目的 可以间接理解为就是数据持久化,防止容器误删,导致数据丢失的情况。
  • MINIO_ACCESS_KEY:账号 MINIO_SECRET_KEY:密码 (正常账号应该不低于3位,密码不低于8位,不然容器会启动不成功)
  • --console-address 指定客户端端口
  • -d --restart=always 代表重启linux的时候容器自动启动
  • --name minio 容器名称
docker run -p 9000:9000 -p 9090:9090 \
 --name minio \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=minioadmin" \
 -e "MINIO_SECRET_KEY=minioadmin" \
 -v /mydata/minio/data:/data \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"

执行之后,使用docker ps查看正在运行的容器:


docker菜鸟教程安装mongoDB docker安装minio_运维_02

四、访问地址

http://192.168.56.103:9090

访问出来是这样的,就代表成功了!

docker菜鸟教程安装mongoDB docker安装minio_docker_03

五、安装遇到问题

如果运行容器之后客户端打不开,这时候可以通过docker logs 容器id查看日志。

1、问题一

刚开始我遇到一个这个问题,应该是说设置的账号密码长度有问题,正常账号应该不低于3位,密码不低于8位,不然容器会启动不成功。

docker菜鸟教程安装mongoDB docker安装minio_docker菜鸟教程安装mongoDB_04

2、问题二

假如不设置客户端端口,就会有以下警告。

docker菜鸟教程安装mongoDB docker安装minio_docker菜鸟教程安装mongoDB_05


docker菜鸟教程安装mongoDB docker安装minio_容器_06

3、问题三

一切都正常了,而且客户端也能打开,但是通过程序连接minio上传的时候报错了,错误信息:

上传失败The difference between the request time and the server's time is too

系统时区与硬件时区不一致导致的

timedatectl // 查看时区配置

docker菜鸟教程安装mongoDB docker安装minio_运维_07

安装ntpdate工具

yum -y install ntp ntpdate

设置系统时间与网络时间同步

ntpdate cn.pool.ntp.org

将系统时间写入硬件时间

hwclock --systohc