记录一个在linux中运行docker中的mysql镜像所遇到的错误。

docker:Error response from daemon:driver failed programming external connectivity on endpoint xxx  error starting userland proxy :listen tcp xxxx:3306:bind; address already in use

解释:以上从daemon引发的报错,一下截取自docker官方文档感兴趣可以自己去了解Docker overview

The Docker daemon

The Docker daemon (dockerd) listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes. A daemon can also communicate with other daemons to manage Docker services.

大概意思是docker的daemon(守护进程)监听Docker API请求和管理docker中的对象,列如镜像,容器、网络和卷,一个daemon也可以和其他daemon通信以管理docker的服务

报错:listen tcp xxx:3306 address already in user 

解决:不用说一定是和本机的mysql重复了,如果你的linux中安装了mysql,

#通过命令查看
ps -ef | grep mysql

或者直接查看端口号

netstat tunlp | grep 3306

把进程号找出来kill -9 xxx带走就可以正常启动了  或者你可以用service mysqld结束

当然如果你的linux中没有安装mysql那通过进程号也可以直接杀死这个占了3306端口的进程

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐