使用docker-compose无法在同一网络中连接mysql和spring boot

拉吉先生

任何帮助将不胜感激。我试图在两个容器中运行mysql和spring-boot应用程序,但是在同一个netowrk中。使用以下命令,两个容器相互通信。mysql命令 docker run --name mysql-local --network=spring-boot-network -p 4000:3306 -d -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=root-user -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=testdb mysql 应用程序命令 docker run --network=spring-boot-network -p 8080:8080 --name test-app -e RDH_HOSTNAME:mysql-local -e RDS_PORT:4000 -e RDS_USER:root-user -e -e RDS_PASSWORD:password 171ce195f461

使用上面的两个docker命令,在spring-boot-network中创建了两个容器,它们可以相互通信。我尝试使用docker-compose时出现问题。我通过了与命令行相同的环境,但是我的应用拒绝与mysql连接。

我正在使用spotify插件来创建图像。

<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.3</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <repository>rajesh132/test-docker</repository>
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

当我启动容器时,创建并启动了mysql容器。我也可以使用mysqlsh客户端和mysql工作台连接到它。但是,我无法连接到我的应用程序。以下是我在项目中使用的属性和docker文件。Docker文件

ADD target/docker-test.jar docker-test.jar
ENTRYPOINT ["java", "-jar", "docker-test.jar"]

Docker Compose文件

version: '3.7'
services:
  spirng-boot-test-application:
    image: rajesh132/test-docker:0.0.1-SNAPSHOT
      #build:
      #context: .
    #dockerfile: Dockerfile
    ports:
      - "8080:8080"
    restart: always
    depends_on: # Start the depends_on first
      - mysql-app
    environment:
      RDS_HOSTNAME: mysql-app
      RDS_PORT: 4000
      RDS_DB_NAME: testdb
      RDS_USERNAME: test-user
      RDS_PASSWORD: password
    networks:
      - web-application-network

  mysql-app:
    image: mysql
    ports:
      - "4000:3306"
    restart: always
    environment:

      MYSQL_ROOT_PASSWORD: password
      MYSQL_USER: test-user
      MYSQL_PASSWORD: password
      MYSQL_DATABASE: testdb
    volumes:
      - mysql-database-data-volume:/var/lib/mysql
    networks:
      - web-application-network

# Volumes
volumes:
  mysql-database-data-volume:

networks:
  web-application-network:

application.yml

  datasource:
    #  use this url for localhost
    #use docker container name instead 'localhost'
    #  url: jdbc:mysql://localhost:3306/authorizationDb?createDatabaseIfNotExist=true
    url: jdbc:mysql://${RDS_HOSTNAME:localhost}:${RDS_PORT:3306}/${RDS_DB_NAME:test}?createDatabaseIfNotExist=true&useSSL=false&allowPublicKeyRetrieval=true
    username: ${RDS_USER:root}
    password: ${RDS_PASSWORD:password}
    driver-class-name: com.mysql.cj.jdbc.Driver
    initialization-mode: always
    tomcat:
      test-on-borrow: true
      validation-query: SELECT 1
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      ddl-auto: update
    properties:
      hibernate:
        show_sql: true
        format_sql: true
    database-platform: org.hibernate.dialect.MySQL8Dialect

logging:
  level:
    org:
      hibernate:
        type: trace

我关注了那么多博客和文档,但是成功建立了许多博客。任何帮助,不胜感激。

沙申克五世

RDS_PORT: 4000必须是RDS_PORT: 3306

将容器端口公开为“ 4000:3306”时,只能在主机上使用端口4000。在容器网络内,您需要使用3306。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

访问由 docker-compose 在同一网络中创建的容器

来自分类Dev

同一网络中的Docker容器无法通信

来自分类Dev

同一网络中的Docker容器无法相互通信

来自分类Dev

ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

来自分类Dev

将Docker容器与Azure管道中的当前容器连接到同一网络

来自分类Dev

同一网络中多主机中的docker网络

来自分类常见问题

如何从主机外部(同一网络)连接到Docker容器[Windows]

来自分类Dev

docker容器无法与同一网络上的其他容器通信

来自分类Dev

在Android设备和PC(同一网络)之间使用套接字

来自分类Dev

在Android设备和PC(同一网络)之间使用套接字

来自分类Dev

您可以在同一网络上混合使用千兆位和10/100以太网吗?

来自分类Dev

Node + Flask服务器Docker容器无法通过同一网络进行通信

来自分类Dev

为什么在同一网络中使用动态DNS进行端口转发时连接失败

来自分类Dev

无法在Ubuntu 20.04 LTS上使用python接收UDP广播,只能在同一网络上的Raspbian和Centos上运行

来自分类Dev

无法使用同一网络中的URL从另一台计算机访问ssrs报告

来自分类Dev

如何在CAFFE的新网络中重复使用同一网络两次

来自分类Dev

如何使两个接口在同一网络中使用同一网关?

来自分类Dev

Raspberry Pi Jessie Wi-Fi无法在同一网络上使用多个IP

来自分类Dev

如何从与Docker主机位于同一网络的设备访问Docker容器?

来自分类Dev

托管同一网络时在本地网络中使用SSH

来自分类Dev

如何使用docker连接spring-boot和mysql?

来自分类Dev

如何使用MAC地址在同一网络中跟踪Android平板电脑

来自分类Dev

在同一网络上使用2个NIC进行策略路由似乎无济于事

来自分类Dev

如何在PF意义上使用具有不同子网的IP连接到同一网络

来自分类Dev

无法通过以太网和无线连接到同一网络

来自分类Dev

同时具有IPv4和IPv6的路由器后面的客户端是否使用同一网络?

来自分类Dev

Spring boot JDBC无法连接到docker容器中的mysql

来自分类Dev

是否可以使用 Google Fit REST API 在同一网络应用程序中聚合来自多个用户的健身数据?

来自分类Dev

使用Docker时的Spring Boot外部配置

Related 相关文章

  1. 1

    访问由 docker-compose 在同一网络中创建的容器

  2. 2

    同一网络中的Docker容器无法通信

  3. 3

    同一网络中的Docker容器无法相互通信

  4. 4

    ASP.NET Core Web API服务无法连接到同一网络上的Docker SQL Server

  5. 5

    将Docker容器与Azure管道中的当前容器连接到同一网络

  6. 6

    同一网络中多主机中的docker网络

  7. 7

    如何从主机外部(同一网络)连接到Docker容器[Windows]

  8. 8

    docker容器无法与同一网络上的其他容器通信

  9. 9

    在Android设备和PC(同一网络)之间使用套接字

  10. 10

    在Android设备和PC(同一网络)之间使用套接字

  11. 11

    您可以在同一网络上混合使用千兆位和10/100以太网吗?

  12. 12

    Node + Flask服务器Docker容器无法通过同一网络进行通信

  13. 13

    为什么在同一网络中使用动态DNS进行端口转发时连接失败

  14. 14

    无法在Ubuntu 20.04 LTS上使用python接收UDP广播,只能在同一网络上的Raspbian和Centos上运行

  15. 15

    无法使用同一网络中的URL从另一台计算机访问ssrs报告

  16. 16

    如何在CAFFE的新网络中重复使用同一网络两次

  17. 17

    如何使两个接口在同一网络中使用同一网关?

  18. 18

    Raspberry Pi Jessie Wi-Fi无法在同一网络上使用多个IP

  19. 19

    如何从与Docker主机位于同一网络的设备访问Docker容器?

  20. 20

    托管同一网络时在本地网络中使用SSH

  21. 21

    如何使用docker连接spring-boot和mysql?

  22. 22

    如何使用MAC地址在同一网络中跟踪Android平板电脑

  23. 23

    在同一网络上使用2个NIC进行策略路由似乎无济于事

  24. 24

    如何在PF意义上使用具有不同子网的IP连接到同一网络

  25. 25

    无法通过以太网和无线连接到同一网络

  26. 26

    同时具有IPv4和IPv6的路由器后面的客户端是否使用同一网络?

  27. 27

    Spring boot JDBC无法连接到docker容器中的mysql

  28. 28

    是否可以使用 Google Fit REST API 在同一网络应用程序中聚合来自多个用户的健身数据?

  29. 29

    使用Docker时的Spring Boot外部配置

热门标签

归档