【发布时间】:2017-05-30 20:16:06
【问题描述】:
我开始使用 docker 和 docker-compose,发现 mysql 容器有问题。我正在使用官方的 mysql:latest 图片。当我运行 docker-compose up 时出现此错误:
Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use
为了确保我的 docker-compose.yml 没有问题,我测试了 3307 端口,一切正常。但是我想用标准的3306。
当然,我杀死了我的本地 mysql 守护程序,但错误仍然存在。所以我跑了
netstat -lnp | grep 3306
这就是我发现的:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
我也执行了lsof -i TCP:3306,但没有得到任何结果。
如何释放 3306 端口?谢谢!
【问题讨论】:
-
你看到任何 mysql 了吗?
ps aux|grep mysql -
您是否在主机上使用 sudo 运行 netstat?
-
我以 root 身份登录控制台并显示:mysqld 未正确终止。- 即使我使用 sudo 终止进程,它也重新启动,但仅适用于 root!我不知道为什么会这样!但是,以 root 身份(不是使用 sudo)杀死它可以正常工作。谢谢你们的帮助:-)
标签: mysql unix docker process console