【发布时间】:2021-04-30 16:23:51
【问题描述】:
当我运行 docker compose 时,它会返回错误
原因:java.net.ConnectException:连接被拒绝(连接 拒绝)
我对 docker 没有太多经验。我做错了什么?
我的码头工人撰写:
version: '3.5'
services:
mysql-service:
image: mysql:5.7
networks:
- phonebook-network
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_USER=admin
- MYSQL_PASSWORD=admin
- MYSQL_DATABASE=PhoneBook
restart: on-failure
phonebook-service:
build:
context: ./
args:
JAR_FILE: ./Phonebook-0.0.1-SNAPSHOT.jar
ports:
- "8080:8080"
environment:
- DB_HOST=jdbc:mysql://mysql-service:3306/PhoneBook?useTimezone=true&serverTimezone=UTC&useSSL=false
- DB_USERNAME:admin
- DB_PASSWORD:admin
networks:
- phonebook-network
depends_on:
- mysql-service
restart: on-failure
networks:
phonebook-network:
driver: bridge
我的码头文件:
FROM openjdk:11-jdk-slim
VOLUME /phoneBook
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
【问题讨论】:
-
您能否显示您尝试从您的 java 容器连接 MySQL 的地址?
-
应用程序是否在数据库准备好之前启动? (如果您在没有
-d选项的情况下运行docker-compose up,您是否看到在应用程序容器失败后显示数据库日志?) -
是的,它的 jdbc:mysql://localhost:3306/PhoneBook?useTimezone=true&serverTimezone=UTC
-
“depends_on”配置不能解决容器启动顺序的问题?
标签: java mysql docker docker-compose