问题描述
最近遇到一个奇怪的问题,我在docker中安装的mysql容器不清楚什么原因导致的,无端口映射了。
容器3306=>主机的3306
容器的创建命令如下:
bash
#下载镜像
docker pull mysql:5.7.37
#创建mysql实例
docker run --name ruoyi-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=itkey123456 -d mysql:5.7.37
以前是可以正常使用的,过了一段时间没有启动过docker,后来启动docker容器发现数据库无法正常连接。
bash
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36af093ee5ec mysql:5.7.37 "docker-entrypoint.s..." 7 months ago Up 2 hours ruoyi-mysql
从这个命令中可以看出PORTS没有映射信息了。
原因猜测
- 我使用的archlinux,会不会某次更新导致了docker出BUG了?
- 因为我偶尔会在本地在启动一个3306端口的数据库,可能导致端口冲突。理论上只会提示报错,不应该会影响 啊。
解决办法
目前没找到完美解决,仅供参考。
我是把我的mysql数据库导出,重新在创建一个容器。
如果你有更好的方法,欢迎评论区告诉我。