运行 容器与 docker 组合时创建数据库时出错
Error creating database while running container with docker compose
我正在尝试使用 docker-compose
创建一个容器,所以我 运行 docker-compose up
在以下撰写文件上:
services:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: admin
MYSQL_PASSWORD: joesam007#
MYSQL_DATABASE: Woodcore-test
拉取并构建镜像后,在尝试创建数据库时,错误响应显示如下:
Creating microservice-task_mysql_1 ...
Creating microservice-task_mysql_1 ... error
ERROR: for microservice-task_mysql_1 Cannot start service mysql: driver failed programming external connectivity on endpoint microservice-task_mysql_1 (3f2a9ad024c6e586a9c7f089a388cecf7decbf7870106b5b34e5a21e88b415a3): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
我想知道如何处理这个问题并成功创建数据库。请帮忙,谢谢。
听起来您是 运行 主机端口 3306 上的现有 MySQL 数据库。
您可以通过以下命令确认:
Windows: netstat -a | findstr :3306
Linux: netstat -a | grep :3306
如果您不想阻止 Database/Service 使用该端口,您可以随时更改它绑定的主机端口,方法是将您的 docker-compose 配置文件更新为:
- "3307:3306"
这将允许您从主机连接到端口 3307 上的容器数据库。
我正在尝试使用 docker-compose
创建一个容器,所以我 运行 docker-compose up
在以下撰写文件上:
services:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: admin
MYSQL_PASSWORD: joesam007#
MYSQL_DATABASE: Woodcore-test
拉取并构建镜像后,在尝试创建数据库时,错误响应显示如下:
Creating microservice-task_mysql_1 ...
Creating microservice-task_mysql_1 ... error
ERROR: for microservice-task_mysql_1 Cannot start service mysql: driver failed programming external connectivity on endpoint microservice-task_mysql_1 (3f2a9ad024c6e586a9c7f089a388cecf7decbf7870106b5b34e5a21e88b415a3): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
我想知道如何处理这个问题并成功创建数据库。请帮忙,谢谢。
听起来您是 运行 主机端口 3306 上的现有 MySQL 数据库。 您可以通过以下命令确认:
Windows: netstat -a | findstr :3306
Linux: netstat -a | grep :3306
如果您不想阻止 Database/Service 使用该端口,您可以随时更改它绑定的主机端口,方法是将您的 docker-compose 配置文件更新为:
- "3307:3306"
这将允许您从主机连接到端口 3307 上的容器数据库。