简体   繁体   English

无法从Spring-Boot容器连接到MySQL

[英]Can't connect to MySQL from Spring-Boot container

I'm trying to connect my Spring-Boot application (one container) to a MySQL database (another container). 我正在尝试将Spring-Boot应用程序(一个容器)连接到MySQL数据库(另一个容器)。 I have following error while starting my Java app: 启动我的Java应用程序时出现以下错误:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

Here is my docker-compose.yml : 这是我的docker-compose.yml

version: "3"
services:
  db:
    image: mysql:8
    environment:
      - MYSQL_ROOT_PASSWORD=family
      - MYSQL_DATABASE=family_db
      - MYSQL_USER=family_user
      - MYSQL_PASSWORD=family
    ports:
      - 9999:3306
  web:
      build:
        context: .
        dockerfile: Dockerfile-spring
      image: family:latest
      depends_on:
        - db
      ports:
        - 0:8080
      environment:
#        - DATABASE_HOST=db
        - DATABASE_USER=family_user
        - DATABASE_PASSWORD=family
        - DATABASE_NAME=family_db
        - DATABASE_PORT=3306
#        - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/family_db?useUnicode=true&characterEncoding=utf8&useSSL=false
#        - spring.datasource.url=jdbc:mysql://mysql:3306/test?useSSL=false
#        - spring.datasource.username=family_user
#        - spring.datasource.password=family
#        - spring.datasource.driver-class-name=com.mysql.jdbc.Driver

  angular:
    container_name: angular-container
    build: 
      context: angular-app
      dockerfile: Dockerfile-angular
    ports:
      - 0:80

Here is my Dockerfile-spring: 这是我的Dockerfile-spring:

FROM openjdk:8
VOLUME /tmp<br> COPY target/family.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]

What should I do to open the MySQL port for my Spring-Boot application? 我应该怎么做才能为我的Spring-Boot应用程序打开MySQL端口?

解决方案是使用网桥驱动程序为Docker创建自己的网络。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为什么spring-boot连接到本地mysql服务器? - Why doesn't spring-boot connect to local mysql server? 无法从 postman 向我的 docker spring-boot 容器发送请求 - Can't send request from postman to my docker spring-boot container Spring-Boot和MySql无法连接 - Spring-Boot and MySql unable to connect 无法从 spring 启动 Z05B6053C41A2140AFD6FC3BE6Z 容器连接 mysql docker 容器 - not able to connect mysql docker container from spring boot docker container Spring Boot 无法连接到 MySql - Spring Boot can't connect to MySql Docker:无法连接 Spring 启动和 MYSQL - Docker: can't connect Spring Boot & MYSQL 在docker上运行的mysql容器无法与spring boot java api服务连接 - mysql container which is running on docker can't able to connect with spring boot java api service 在 Spring-Boot 中,我们如何连接到同一个项目中的两个数据库(Mysql 数据库和 MongoDB)? - In Spring-Boot, How can we connect to two databases (Mysql database and MongoDB) in the same project? 无法使用 Spring-Boot 应用程序从 GKE 连接到 Cloud SQL (MySQL) - Not able to connect to Cloud SQL (MySQL) from GKE using a Spring-Boot application 无法从 spring 引导容器应用程序连接到亚马逊 RDS - Can not connect to amazon RDS from spring boot container app
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM