首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker compose:到mysql数据库的spring启动连接被拒绝

问docker compose:到mysql数据库的spring启动连接被拒绝
EN

Stack Overflow用户
提问于 2019-06-25 20:14:27
回答 1查看 1.8K关注 0票数 5

我是Docker的新手,我需要在docker工具箱上用docker-compose启动我的Angular/SpringBoot/MySQL项目。我将一个docker yml文件复制到我的项目中,该文件使用了相同的技术,并更改了其中的路径以匹配我的项目。然而,当我尝试docker-compose时,它抛出以下错误:

代码语言:javascript
复制
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
[...] 84 common frames omitted
Caused by: java.net.ConnectException: Connection refused (Connection refused)

docker-compose.yml如下所示:

代码语言:javascript
复制
version: '3'

services:
  database:
    image: mysql
    container_name: database
    environment:
      MYSQL_ROOT_PASSWORD: ****
      MYSQL_DATABASE: db_example
      MYSQL_USER: springuser
      MYSQL_PASSWORD: ****
    ports:
      - 3306:3306
    volumes:
      - db_exampleData:/var/lib/mysql

  springapi:
    image: openjdk:10-jre-slim
    container_name: springapi
    ports:
      - 8443:8443
    depends_on:
      - database
    volumes:
      - ./backend/target/backend-0.1.0.jar:/application.jar
    command: ["java", "-jar", "application.jar"]

  angular:
    image: nginx:alpine
    container_name: angular
    ports:
      - 4200:80
    depends_on:
      - springapi
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./frontend/my-app/dist/my-app:/usr/share/nginx/html

volumes:
  db_exampleData:

application.properties:

代码语言:javascript
复制
spring.jpa.hibernate.ddl-auto=none
spring.jpa.open-in-view=false
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=****

server.port=8443

任何建议都会很有帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 20:41:59

你需要像这样改变你的连接:

代码语言:javascript
复制
jdbc:mysql://database:3306/db_example

并将此代码添加到springapi服务下的docker-compose中:

代码语言:javascript
复制
links:
   - database

另一方面,您可以通过在springapi服务下添加一个命令部分来使用wait-for-it.sh检查DB是否已启动:

代码语言:javascript
复制
command: ["path/to/wait-for-it.sh", "database:3306", "-t", "6000", "--", "YOUR ACTUAL COMMAND"]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56753810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档