Mac端解决docker创建容器时端口3306被占用的错误
Posted 平原上的维克多
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac端解决docker创建容器时端口3306被占用的错误相关的知识,希望对你有一定的参考价值。
创建容器命令如下:
docker run -it -p 8000:8000 -p 8082:8082 -p 3000:3000 -p 3306:3306 --name seafile-dev-img -v /Users/wysdu/Documents/seafile-develop:/root/dev/source-code ubuntu:18.04 bash
docker: Error response from daemon: driver failed programming external connectivity on endpoint seafile-dev-img
(5d88ccc1089eff8b2ff24fb9cc25f5f4e940837a440d95b469d2913150df1c52):
Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.
查看占用端口3306的进程
sudo lsof -i tcp:3306
结果如下:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 102 _mysql 27u IPv6 0x2135a76727b4822b 0t0 TCP *:mysql (LISTEN)
可以看到, mac 开机后mysql自动启动占用了TCP端口3306,从而造成上面的错误。
进入 系统偏好设置 关闭MySQL服务即可。
以上是关于Mac端解决docker创建容器时端口3306被占用的错误的主要内容,如果未能解决你的问题,请参考以下文章