docker: Error response from daemon: driver failed programming external connectivity on endpoint mymysql (0695aa82dee47cf7aa060e81cb3eeb67867700de0f27f5579c8b51a37669b3be): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
时间: 2023-07-08 08:50:51 浏览: 125
连接docker里面的mysql失败解决方法
5星 · 资源好评率100%
这个错误的原因是在启动 `mymysql` 容器时,容器内的 MySQL 服务将本地的 3306 端口占用了,导致容器无法将自己的 3306 端口映射到宿主机上。
解决这个问题的方法有两种:
1. 停止占用 3306 端口的本地 MySQL 服务。可以使用以下命令查看占用该端口的进程:
```
sudo lsof -i :3306
```
然后根据命令输出的进程信息停止该进程即可。
2. 修改容器的 MySQL 服务监听端口。在启动容器时,可以将 MySQL 服务的监听端口映射到一个宿主机上未被占用的端口上,例如:
```
docker run -d -p 3307:3306 --name mymysql mysql
```
这里将容器的 3306 端口映射到了宿主机的 3307 端口上。这样就可以避免端口冲突的问题。
阅读全文