Docker错误绑定:端口未使用时,地址已在使用中



我正在为以下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
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

然后

docker ps -a

结果在:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

我跑了:

netstat | grep :3306

它什么也没回。

我想问题可能出在docker撰写文件上,但我不确定。任何关于如何解放港口以使集装箱能够运行的想法都将不胜感激。

原因:MySQL已经在计算机上运行。

解决方案:在mac上:系统首选项>MySQL>停止MySQL Server