[英]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.