【踩坑记录02】使用docker安装和启动minio

本文主要记录一下docker如何安装和启动minio,先看一下成功启动的步骤:

首先下载相关镜像:

bash 复制代码
# 搜索minio镜像
docker search minio
# 下载minio/minio
docker pull minio/minio

创建文件挂载目录:

bash 复制代码
sudo mkdir /opt/docker/minio/miniodata
# 提供可写的权限,否则启动时会出现如下错误
# unable to use the drive /data:file access denied: Invalid arguments specified
sudo chmod 777 /opt/docker/minio/miniodata

启动:minio

bash 复制代码
docker run \
-p 9000:9000 \
-p 5001:5001 \
-v /opt/docker/minio/miniodata:/data \
-e "ROOT_ACCESS_KEY=minioadmin" \
-e "ROOT_SECRET_KEY=minioadmin" \
-d minio/minio server /data --console-address ":5001"

命令说明:

  1. docker run:启动程序
  2. -p:指定端口号 9000: 是minio默认的端口号
  3. -v:指定挂载目录,这是因为如果不指定,当容器被删除之后容器的数据将会丢失。
  4. -e:指定环境变量,这里是指定了minio dashboard的登录账号和密码。
  5. -d:后台运行 minio/minio 是我们下载的镜像,server /data 是minio的命令指定文件存放的目录。--console-address:指定minio dashbord的端口号。有时在命令后面还会看见 -address参数,该参数指定的是minio s3 api 的端口号。

启动后便可通过docker logs containerId的方式查看log,如果在电脑上安装了docker desktop也可以在容器的logs看到如下信息:

其中s3-api这个地址就可以配置在springboot项目的yaml中,进行文件上传操作。如下所示:

yml 复制代码
minio:
  endpoint: http://127.0.0.1:9000
  accessKey: minioadmin
  secretKey: minioadmin
  bucketName: minio-first-bucket
spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 100MB

下面的内容就是记录一下踩坑的过程:

  • 本人首先是成功安装启动后,通过spring boot项目上传文件后,文件上传成功但是我的挂载目录本没有这个文件。
  • 接着从docker官网了解到文件应该是会在挂载目录的,但是由于不知道如何排查这个问题,就将该容器删除,打算重新启动一个容器试一下【大坑】
  • 在删除之后,按照同样的方式启动,容器就无法启动出现如下信息的错误:unable to rename xxxunable to use the drive /data:file access denied
  • 接着在网上搜寻一番,有的人说是因为之前安装过,不能指定相同的目录,于是呼:换一个目录,失败,删掉之前的目录重新启动,失败!换版本失败!包括但不限于stack overflow或者官网给定的解决方法。 最后在打算放弃的关头:执行了chmod 777 挂载目录,重启成功,不仅重启成功通过java上传文件,在该目录下也有了备份。
  • ps: 整个过程大概耗费了三个小时,【心累.jpg】

参考资料:

相关推荐
BYSJMG1 小时前
计算机毕设推荐:基于大数据的共享单车数据可视化分析
大数据·后端·python·信息可视化·数据分析·课程设计
短剑重铸之日2 小时前
《设计模式》第九篇:三大类型之结构型模式
java·后端·设计模式·组合模式·代理模式·结构性模式
树码小子2 小时前
SpringIoC & DI (4)DI详解(三种注入方式)
java·后端·spring·ioc
人道领域2 小时前
SSM从入门到入土(Spring Bean实例化与依赖注入全解析)
java·开发语言·spring boot·后端
long3162 小时前
Z算法(线性时间模式搜索算法)
java·数据结构·spring boot·后端·算法·排序算法
小楼v2 小时前
如何实现AI生成应用部署功能
java·后端·ai·部署
李慕婉学姐3 小时前
Springboot眼镜店管理系统ferchy1l(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
暴躁小师兄数据学院3 小时前
【WEB3.0零基础转行笔记】Golang编程篇-第4讲:Go语言中的流程控制
开发语言·后端·golang·web3·区块链
Honmaple3 小时前
openclaw 钉钉 Webhook 完全指南
后端
短剑重铸之日3 小时前
《设计模式》第十篇:三大类型之行为型模式
java·后端·设计模式·责任链模式·访问者模式·行为型模式