我正在尝试从此处运行docker-compose.yml:https://github.com/Project-Books/book-project#running-the-app
我试图在Intellij IDEA社区版中运行docker-compose文件-使用 Docker插件202.7319.5
这是使用的docker-compose.yaml文件:https://github.com/Project-Books/book-project/blob/master/docker-compose.yml
以下是有关已安装的Docker Desktop的详细信息:

OS: Windows
Version: 2.3.0.4(46911)
Channel: Stable
Engine: 19.03.12
Compose: 1.26.2
我进入控制台的输出:
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部署到另一个端口。
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:

10-07 13:23
查看更多