Docker-Compose:通常每个套接字地址(协议/网络地址/端口)只允许使用一次 [英] Docker-Compose: Only one usage of each socket address (protocol/network address/port) is normally permitted
问题描述
我正在尝试从这里运行 docker-compose.yml:https://github.com/Project-Books/book-project#running-the-app.
I'm trying to run docker-compose.yml from here: https://github.com/Project-Books/book-project#running-the-app.
我尝试在 Intellij IDEA 社区版中运行 docker-compose 文件 - 使用 Docker 插件 202.7319.5
I tried to run a docker-compose file in Intellij IDEA Community Edition - using Docker plugin 202.7319.5
这是使用的 docker-compose.yaml 文件:https://github.com/Project-Books/book-project/blob/master/docker-compose.yml
Here's the docker-compose.yaml file used: https://github.com/Project-Books/book-project/blob/master/docker-compose.yml
以下是有关安装的 Docker Desktop 的详细信息:
Here's the details about Docker Desktop installed:
OS: Windows
Version: 2.3.0.4(46911)
Channel: Stable
Engine: 19.03.12
Compose: 1.26.2
我在控制台中得到的输出:
Output I'm getting in the console:
ERROR: for book-project_mysql_1 Cannot start service mysql: Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
ERROR: for mysql Cannot start service mysql: Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
Encountered errors while bringing up the project.
推荐答案
端口 3306 已被其他应用程序使用.您可以将 MySQL 部署到另一个端口.
The port 3306 is already in use by other application. You can deploy MySQL to another port.
示例 docker-compose:
example docker-compose:
version: '3'
services:
mysql:
image: mysql:latest
hostname: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: bookproject
MYSQL_USER: dbuser
MYSQL_PASSWORD: dbpassword
ports:
- "3307:3306"
volumes:
- db_data:/var/lib/mysql
- ./src/main/resources/db/init.sql:/data/application/init.sql
command: --init-file /data/application/init.sql
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
links:
- mysql:db
ports:
- "8081:80"
bookapp:
build: ./
restart: on-failure
ports:
- "8080:8080"
environment:
- WAIT_HOSTS=mysql:3307
- WAIT_HOSTS_TIMEOUT=300
- WAIT_SLEEP_INTERVAL=30
- WAIT_HOST_CONNECT_TIMEOUT=30
#- DEFAULT_PATH=<Target path in windows>
depends_on:
- mysql
- phpmyadmin
volumes:
db_data:
这篇关于Docker-Compose:通常每个套接字地址(协议/网络地址/端口)只允许使用一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!