Docker 容器通过 Docker 外部的特定端口进行通信

Docker 容器通过 Docker 外部的特定端口进行通信

所以我目前面临的问题是,我无法与特定端口通信,该端口不在我的 docker 设置范围内。确切地说:

正如您在下面的 docker-compose.yml 中看到的,我在 docker 设置中运行 nginx 和 php。我现在正在尝试使用一个 PHP 框架,它需要与端口 10011 上的服务器通信,该服务器作为我的电脑上的本地服务器运行。在本例中,它是一个 teamspeak 服务器,但这对主题本身没有任何影响。

当我尝试通过我的 php docker 容器连接到此服务器时,出现错误111 - Connection refused。当我通过 XAMPP 运行完全相同的代码时,一切都运行正常。所以我的 docker 设置似乎有问题。

我的docker-compose文件:

version: "3.2"
services:

  php:
    build:
      context: './.docker/php/'
      args:
        PHP_VERSION: ${PHP_VERSION}
    networks:
      - backend
    volumes:
      - ${PROJECT_ROOT}/:/var/www/html/
    container_name: php

  apache:
    build:
      context: './.docker/apache/'
    depends_on:
      - php
      - db
    networks:
      - frontend
      - backend
    ports:
      - "80:80"
    volumes:
      - ${PROJECT_ROOT}/:/var/www/html/
    container_name: apache

networks:
  frontend:
  backend:
volumes:
  data:

注意:为简洁起见,所有不相关的容器已被删除。

我该如何解决这个问题?当 Teamspeak 服务器不在本地运行,而是在完全自己的服务器上运行时,我需要更改什么?

感谢您的阅读。

相关内容