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

从docker拒绝连接(在群中)

澹台成龙
2023-03-14

我有一个泊坞群设置,其中包含在覆盖网络中注册的服务。服务之间的通信工作正常,但是我从连接到外部数据库的一个服务中得到了“连接被拒绝”。该服务是基于 Java 的应用程序(Spring启动)。

    < li >连接是用其IP(JDBC:MySQL://192 . 168 . 130 . 141:3306/database?auto connect = true) < li >我已经检查过我可以从容器ping服务器< code > docker exec-it e093 ping 192 . 168 . 130 . 141 给出预期的答案 < li >我已经复查了(4次)我的凭据 < li >我可以从主机连接到数据库 < li >主机是LTS的Ubuntu 16 . 04 . 4

我正在运行docker 18.03.0-ce,具体错误是

< code > Java . net . connect exception:Java . net . plainsocketimpl . socket connect(本机方法)处的连接被拒绝(连接被拒绝)~[na:1.8.0_151]

我将在此处跳过完整的堆栈跟踪。

任何帮助都将不胜感激

--编辑--

让我澄清一下,数据库是一个Galera集群,我尝试连接的IP是它前面的负载平衡器(HAProxy)。我知道这个设置可以正常工作,因为在这个问题上,我有其他应用程序连接到集群以及服务本身(当不在dockerhtml" target="_blank">容器中时)。

因此,据我所知,我的连接信息是正确的,但它不会从Docker服务内部连接。

共有1个答案

贲功
2023-03-14

能不能展示一下你的docker-compose.yml?在端口中,您必须公开您需要访问的端口。

ports:
   - 3306:3306

您可以安装telnet,在容器中使用以下命令测试端口是否打开

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

  • 试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常 我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose

  • 问题内容: 我正在尝试使用DockerCompose使用远程存储库部署ConfigServrService和客户端。 docker-compose.yml类似于: 在他们部署的那一刻,客户端控制台显示: cccConfigServicePropertySourceLocator:从位于http:// localhost:8888的 服务器中获取配置 (而不是http:// config-serve

  • 我知道在类似问题上已经发布了一些问题,但不幸的是,我仍然无法使以下命令正常工作: $sudo docker run hello world 无法在本地找到映像“hello world:latest”:docker:来自守护程序的错误响应:Gethttps://registry-1.docker.io/v2/: 拨打tcp 52.54.216.153:443:getsockopt:连接被拒绝。请参阅

  • 我一直在通过Akka示例集群应用程序教程和本文档研究Akka集群。我让它在本地运行(127.0.0.1),但我似乎无法使用我的静态IP(192.168.0.99)让它工作。我这样做是为了快速检查是否正常,因为我在尝试使用我的Raspberry Pi作为节点时收到了类似的消息。 [警告][05/30/2016 11:01:41.432][ClusterSystem akka.remote.defau

  • 我的docker撰写文件如下所示: 如果我在浏览器中键入http://localhost:15672,我将获得Rabbitmq界面,但是如果我试图像这样从我的探索项目连接: 然后它在队伍中断了 错误是说 ExtendedSocketException:连接被拒绝127.0。0.1:5672系统。网插座。插座EndConnect(IAsyncResult异步结果) ConnectFailureExc