当前位置: 首页 > 知识库问答 >
问题:

尝试在docker容器之间连接时,连接被拒绝(连接被拒绝

马朝斑
2023-03-14

试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常

我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose up的命令。

docker-compose.yml文件

version: '3'

服务:docker-mysql:image:mysql:最新容器_name: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

共有1个答案

明安阳
2023-03-14

从下面我可以看到的是您的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

spring 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服务在不同的容器中运行,请检查它是否有效.它应该是链接的,或者在同一个网络中

 类似资料:
  • 我正在尝试使用docker容器运行ELK stack。但我得到的错误是,kibana无法与elasticsearch建立联系。 这是我的docker comp的内容 我日志的内容。形态 我有elasticsearch容器和kibana容器上的卷曲,对我来说很好 curl localhost:9200/_cat/index?漂亮的 增加虚拟内存大小后 root@sfbp19:~/docking je

  • 我已经确认Alpine/Socat正在http://127.0.0.1:2376上运行/可能是守护进程未连接的问题,请提供帮助。使用OSX的TIA 连接被拒绝:/127.0.0.1:2376 java.net.connectException:连接被拒绝导致:io.netty.channel.abstractChannel$annotatedConnectException:连接被拒绝:/127.

  • 问题内容: 我正在尝试设置一个docker- compose文件,该文件旨在用Supervisor替换运行多个进程(RQ worker,RQ仪表板和Flask应用程序)的单个Docker容器解决方案。 主机系统是Debian 8 Linux,我的样子如下(我删除了所有其他条目以减少错误源): “ rq-worker1”是Python RQ工作者,尝试通过本地主机和端口6379连接到Redis,但无

  • 问题内容: 我正在尝试通过代码访问Redis服务器,但未连接。但是,如果我猛击redis容器,我可以访问redis-cli。 docker-compose.yml看起来像这样 Dockerfile_redis 当我尝试使用此代码连接到Redis服务器时 它发出此警告 有谁知道如何将Redis容器连接到PHP容器? 问题答案: 你的问题 Docker Compose 为不同的服务创建了单独的dock

  • 我正在尝试运行卡桑德拉,但每次它在连接时都会给出相同的错误...有什么我需要在配置文件或属性文件中编辑的吗? ('无法连接到任何服务器',{'127.0.0.1:9042 ':错误(61,"尝试连接到[('127.0.0.1 ',9042)]。最后一个错误:连接被拒绝")}) 启动cassandra时出错

  • 我试图通过Jedis客户端连接到redis服务器,但在连接时我得到了以下异常和堆栈跟踪- redisconnectionFailureException:无法获得Jedis连接;嵌套异常是redis.clients.jedis.exceptions.jedisconnectionException:无法从位于org.springframework.data.redis.connection.jed