docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker安装MinIO

docker安装MinIO全过程

作者:不懂敲代码的程序员

这篇文章主要介绍了docker安装MinIO全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、查看docker环境是否正常

在命令行使用 docker search minIO

docker search minIO

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

二、下载minIO的镜像

docker pull minio/minio

三、创建minIO容器

minio官网:MinIO High Performance Object Storage — MinIO Object Storage for Container

查看所有镜像

docker images

创建并启动minIO容器:

这里的 \ 指的是命令还没有输入完,还需要继续输入命令,先不要执行的意思。

这里的9090端口指的是minio的客户端端口。虽然设置9090,但是我们在访问9000的时候,他也会自动跳到9090。

9000端口是minio的服务端端口,我们程序在连接minio的时候,就是通过这个端口来连接的。

-v就是docker run当中的挂载,这里的/root/docker/minio/data:/data意思就是将容器的/data目录和宿主机的/root/docker/minio/data目录做映射,这样我们想要查看容器的文件的时候,就不需要看容器当中的文件了。

注意在执行命令的时候,他是会自动在宿主机当中创建目录的。我们不需要手动创建。

minio所上传的文件默认都是存储在容器的data目录下的!

假如删除容器了宿主机当中挂载的目录是不会删除的。假如没有使用-v挂载目录,那他在宿主机的存储位置的文件会直接删除的。

宿主机的挂载目录一定是根目录,如果是相对路径会有问题。还有容器当中的目录也是必须是绝对路径(根路径就是带/的)。

所谓的挂载其实就是将容器目录和宿主机目录进行绑定了,操作宿主机目录,容器目录也会变化,操作容器目录,宿主机目录也会变化。这样做的目的 可以间接理解为就是数据持久化,防止容器误删,导致数据丢失的情况。

docker run -p 9000:9000 -p 9090:9090 \
 --name minio \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=admin" \
 -e "MINIO_SECRET_KEY=admin123456" \
 -v /root/docker/minio/data:/data  \
 -v /root/docker/minio/config:/root/.minio \
 minio/minio  server\
 /data --console-address ":9090" -address ":9000"

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

docker ps

四、访问地址

http://127.0.0.1:9090

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

五、安装遇到问题

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

1、问题一

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

错误:

ERROR Unable to validate credentials inherited from the shell environment: Invalid credentials
      > Please provide correct credentials
      HINT:
        Access key length should be at least 3, and secret key length at least 8 characters
ERROR Unable to validate credentials inherited from the shell environment: Invalid credentials
      > Please provide correct credentials
      HINT:
        Access key length should be at least 3, and secret key length at least 8 characters

2、问题二

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

3、问题三

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

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

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

timedatectl // 查看时区配置

安装ntpdate工具

yum -y install ntp ntpdate

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

ntpdate cn.pool.ntp.org

将系统时间写入硬件时间

hwclock --systohc

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文