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

docker nginx和php,php无法连接到本地主机

胡新
2023-03-14

我创建了一个开放到端口8080:80的nginx容器,这样我就可以从主机访问它。

它连接到具有开放端口9000:9000的php fpm容器

nginx成功运行PHP。

我的问题是php试图访问localhost:8080但问题是phplocalhost:8080无效,它需要连接到nginx容器。

以下是我的wordpress网站上的错误:你可以看到有些东西很时髦。。。下面我将附加docker-compose.yml

正在从下载安装包http://localhost:8080/wp-content/themes/realtyspace/plugins/advanced custom fields pro.zip…

下载失败。cURL错误7:连接到localhost端口8080失败:连接拒绝

docker-compose.yml

version: '2'
services:
  my-nginx:
    build: .
    volumes:
      - ./../:/var/www/html
    ports:
      - "8080:80"
    links:
      - my-php

  my-php:
    build:
      context: .
      dockerfile: Dockerfile.php-fpm
      volumes:
        - ./../:/var/www/html
      ports:
        - "9000:9000"
      links:
        - my-mysql

  my-mysql:
    image: mariadb:5.5
    volumes:
      - /var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: wp
      MYSQL_DATABASE: wp
      MYSQL_USER: wp
      MYSQL_PASSWORD: wp

共有1个答案

终翰学
2023-03-14

使用docker的内部网络并配置php以访问http://my-nginx:80

localhost将解析为php容器本身的独立IP,而不是运行所有内容的Docker主机的IP。并试图通过http://dockerhost:8080将导致不可移植的docker-compose.yml以及iptables防火墙和nat规则可能出现的问题,这些问题带来的麻烦超过了它们的价值。使用v2 compose文件的价值在于,您可以在Docker内部获得一个隔离的网络,并使用每个容器的DNS解析相互协作。

 类似资料:
  • 试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne

  • 这让我很困惑。 我有一个运行nginx-php-fpm的本地开发设置,我在其中使用.localhost作为每个项目的工作域。昨天Chrome停止了与本地域的合作。相反,它只是返回被拒绝的连接。DevTools将错误显示为net::ERR\u CONNECTION\u RESET。 访问http://127.0.0.1工作,但当然不适用于本地项目。 Safari继续与.localhost一起工作。

  • 问题内容: 我正在尝试使用PyMySQL连接到本地主机上的MySQL: 但是(在Python 2.7和Python 3.2上)我得到了错误: socket.error:[Errno 111]连接被拒绝 pymysql.err.OperationalError:(2003年,“无法连接到’localhost’(111)上的MySQL服务器”) 我确定mysqld正在运行,因为我可以使用command

  • 我试图测试一些普罗米修斯度量,通过推动到本地push网关。push网关docker映像正在运行,当我使用:http://localhost:9091/metrics时,我可以在浏览器中看到它 然而,当我运行python脚本来推送指标时,我得到一个404错误。 错误:urllib2。HTTPError:HTTP错误404:未找到 推送地址中有我遗漏的东西吗?我已尝试添加/度量,但存在相同的错误

  • 我试图在PHP中对本地主机执行一个cURL请求,但出现以下错误: CURL错误(7):连接到8000localhost端口失败:连接被拒绝 我试图用谷歌搜索这条信息,也在StackOverflow上找到了类似的问题,但似乎没有任何效果。 卷曲php: test.php: 如果删除“CURLOPT_IPRESOLVE”值,请求将永远不会解析。我还尝试将“CURLOPT_SSL_VERIFYPEER”

  • 我试图连接到一个名为的数据库。所有凭据都位于PHP文件名中,格式为 我正试图用这个连接到数据库 我得到这个错误: 注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php 注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB