Mysql Docker错误绑定:端口未使用时地址已在使用
我正在为以下docker-compose.yml文件运行Mysql Docker错误绑定:端口未使用时地址已在使用,mysql,docker,docker-compose,port,netstat,Mysql,Docker,Docker Compose,Port,Netstat,我正在为以下docker-compose.yml文件运行docker compose up: version: '3.7' services: mysql_db_container: image: mysql:latest command: --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: rootpassword port
docker compose up
:
version: '3.7'
services:
mysql_db_container:
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: rootpassword
ports:
- "3306:3306"
volumes:
- mysql_db_data_container:/var/lib/mysql
adminer_container:
image: adminer:latest
environment:
ADMINER_DEFAULT_SERVER: mysql_db_container
ports:
- "8080:8080"
volumes:
mysql_db_data_container:
我得到了以下错误:
ERROR: for mysql_db_container Cannot start service mysql_db_container: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use
ERROR: Encountered errors while bringing up the project.
我尝试了以下方法:
docker-compose stop && docker-compose down
然后
结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
我跑:
netstat | grep :3306
它一无所获
我认为问题可能出在docker compose文件上,但我不确定。非常感谢关于如何释放港口以便集装箱能够运行的任何想法。原因:
MySQL已经在计算机上运行
解决方案:
在mac上:
系统首选项>MySQL>停止MySQL服务器原因:
MySQL已经在计算机上运行
解决方案:
在mac上:
系统首选项>MySQL>停止MySQL服务器检查计算机上是否已经运行MySQL或mariadb。尝试以下命令,docker compose down-如果存在docker-compose.yml docker rm-fv$(docker ps-aq),这将停止当前目录上的容器-所有容器都将被删除sudo lsof-i-P-n | grep 3306-列出正在使用端口kill-9 3306的用户-也尝试重新启动docker以查看其是否解决了问题。检查计算机上是否已经运行mysql或mariadb。尝试以下命令,docker compose down-如果存在docker-compose.yml docker rm-fv$(docker ps-aq),则将停止当前目录中的容器-所有容器都将被删除sudo lsof-i-P-n | grep 3306-列出正在使用端口kill的用户-9 3306也尝试重新启动docker,以查看是否解决了问题。
netstat | grep :3306