簡體   English   中英

嘗試在Docker容器之間進行連接時連接被拒絕(連接被拒絕)

[英]Connection refused (Connection refused) while trying to connect between docker containers

嘗試在本地主機中建立從應用程序容器到mysql容器的連接,導致連接被拒絕異常

我們正在采用docker方法來調用rest api服務以采用微服務方法。 我們正在建立應用程序容器和mysql容器之間的連接,同時我們編寫了一個docker-compose文件創建的mysql容器和應用程序容器,公開了兩個容器的端口。 以下是用於運行docker-compose文件docker-compose的命令。

docker-compose.yml文件

version: '3'

服務:docker-mysql:圖像:mysql:最新的容器名稱:mysql服務器環境:-MYSQL_ROOT_PASSWORD = abc123-MYSQL_DATABASE = fitapp-MYSQL_PASSWORD =根端口:-3307:3306

spring-webap:
    build:
        dockerfile: Dockerfile
        context: .
    image: fitapp:1.0
    depends_on:
      - docker-mysql
    ports:
      - 8092:8080


spring-webap_1  | Caused by: java.net.ConnectException: Connection refused

從下面我可以看到的是您的docker-compose.yml(已更改密碼以更好地理解)

version: '3'
services:
  docker-mysql:
    image: mysql
    ports:
        - "3301:3306"
    environment:
        - MYSQL_USER=root
        - MYSQL_DATABASE=fitapp
        - MYSQL_ROOT_PASSWORD=pass
        - MYSQL_PASSWORD=pass
  spring-webap:
    build:
      dockerfile: Dockerfile
      context: .
    image: fitapp:1.0
    depends_on:
      - docker-mysql
    ports:
      - 8092:8080

春天的application.properties / application.yml應該如下所示

    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://docker-mysql:3301/fitapp
    username: root
    password: pass

檢查,如果您在url中指定了localhost,則它將無法正常工作,因為MySql和Spring服務在不同的容器中運行。它應該是鏈接的或在同一網絡中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM