查看正在运行容器的环境变量-寻找容器运行mysql的root密码

发布时间 2024-01-01 17:23:02作者: 济南小老虎

查看正在运行容器的环境变量-寻找容器运行mysql的root密码


背景

有一个服务器上面运行着一个长达两年的mysql数据库实例.
因为当时root密码是通过环境变量注入进去的.

现在我想重新连接一下,但是发现已经忘记了密码. 
这一点就非常尴尬. 
还是需要进行一下 密码的找回工作. 

今天找到了解决方案, 所以想总结一下, 备忘. 

操作方法

在宿主机上面执行

可以使用方法为:
docker ps |grep mysql
找到mysql的 容器名字

docker exec -it mysql210 env 就可以打印运行容器时的环境变量

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=1e52725fde6f
TERM=xterm
MYSQL_ROOT_PASSWORD=Testxxx
GOSU_VERSION=1.12
MYSQL_MAJOR=8.0
MYSQL_VERSION=8.0.26-1debian10
HOME=/root

这样结果就比较清晰了

其他方法-1

如果有进行特权指令提升: 
也就是运行容器时使用了: ----privileged=true

可以 docker exec -it mysql210 bash
cat /proc/1/environ

注意如果没有特权提升的话 会出现这个提示
cat: /proc/1/environ: Permission denied

其他方法-2

docker inspect mysql210 |grep -i password

docker exec -it mysql210 bash
直接执行 export 查看环境变量

个人感觉还是 env 最简单 其他的方式输入的命令都比较多一些.