docker部署minio和业务服务因变更minio密码导致访问不到图片的问题

news/2024/9/23 13:41:48/

问题起因

业务application和minio都是docker部署。按部署规则minio的环境变量中设置了MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。这样就可以用这套用户名密码登录minio了。而我的application中是通过api访问minio获取资源URL,提供给前端的。所以在application的环境变量中也配置这套用户名和密码。按理说这样启动,使用minio完全没有问题的。
然而,幺蛾子出在minio启动时报端口占用。
于是等了几天,被另一个同事处理了minio端口占用,并且把minio环境变量的密码给改了。minio可以正常登录和使用。可是,application访问minio用的还是之前的老密码,能拿到访问图片返回的URL,却死活,不能把图片展示出来,前端报错:Failed to load response data: No data found for resource with given identifier,图片破裂:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题排查

1、排查了minio服务、application服务的环境变量配置,的确发现两边minio的密码不一致。于是把application服务的配置改正确。【重启】了application容器,然后还是访问不到图片。报错信息并没有发生变化。
2、登录minio查看桶的配置,也很其他环境的一模一样。排除配置问题。
3、重新设置了minio和application服务中minio的登录密码。再重启服务还是看不到图片,只能看到图片连接。
4、百度、帖子看了,都没找到解决办法。

问题解决

思考: 为什么会能拿到URL连接,却访问不到资源呢?
猜测: 获取URL连接的API可以访问通,但是真正去获取资源时,被服务器拒绝了。
大胆尝试: 在正确的测试环境,把application服务中minio密码改错,【重启】服务,发现图片居然还能正常访问,惊掉下巴。再大胆尝试,把minio服务的环境变量密码改了,【重启】minio服务,发现用原来的密码能登录上去,而用刚配置的新密码却登录不成。
豁然开朗: 肯定是【重启】没有真正生效!docker容器中用的还是之前环境变量。
解决办法:

先停掉minio服务,然后移除minio的docker容器,重新发布一个新的docker容器。再用老密码登录minio,登录失败,用新密码登录,登录成功!对application服务同样一顿骚操作,图片访问正常了!

问题解决!撒花*~*

经验总结

docker容器的环境变量修改后,需要重新up -d 容器,仅仅restart容器,并不能应用新的配置信息。


http://www.ppmy.cn/news/1459868.html

相关文章

【4089】基于小程序实现的互动打卡系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

conan2 基础入门(03)-使用(msvc为例)

conan2 基础入门(03)-使用(msvc为例) 文章目录 conan2 基础入门(03)-使用(msvc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conanconanfile.txt执行 install cmakeCMakeLists.txt生成项目构建 END ⭐准备 在阅读和学习本文…

WebAssembly在现代前端中的应用与未来展望

WebAssembly(简称WASM)在现代前端开发中的应用日益广泛,其核心优势在于提供了一种高性能、跨平台的执行环境,使得非JavaScript语言编写的代码也能在Web浏览器中运行。以下是WebAssembly在现代前端应用的一些关键领域及其未来展望&…

leetcode刷题指南

本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论,它可以运用到 Leetcode 上的刷题,也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然,本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家…

JVM---垃圾回收

目录 一、C/C的内存管理 二、Java的内存管理 三、垃圾回收的对比 四、Java的内存管理和自动垃圾回收 五、方法区的回收 手动触发回收 六、堆回收 如何判断堆上的对象可以回收? 引用计数法 可达性分析算法 五种对象引用 软引用 软引用的使用场景-缓存 弱引用 虚…

Rust学习笔记(中)

前言 笔记的内容主要参考与《Rust 程序设计语言》,一些也参考了《通过例子学 Rust》和《Rust语言圣经》。 Rust学习笔记分为上中下,其它两个地址在Rust学习笔记(上)和Rust学习笔记(下)。 错误处理 pani…

git error index file corrupt

错误提示: error: bad signature 0x00000000 fatal: index file corrupt 场景复现:在使用git add .提交代码到缓冲区时电脑宕机,重启后再次提交代码会出现该提示 原因分析:.git目录下的index文件损坏 解决方式: 删…

web 基础之 HTTP 请求

web 基础 网上冲浪 就是在互联网(internet)上获取各种信息,进行工作,或者娱乐,他的英文表示surfing the Internet,因 “surfing”d的意思是冲浪,即成为网上冲浪,这是一种形象说法, 也是一个非…