php - Docker Compose LAMP 堆栈不提供 index.php

标签 php docker docker-compose

我正在做一些自由职业,与我一起工作的人使用带有 docker 的 LAMP 堆栈。我以前从未使用过 docker,我遇到了一些问题。他们都使用 Mac,而我有 Windows,所以他们无法帮助我。在过去的 12 个小时里,我一直在不停地处理这个问题,但无法显示我的 index.php 页面。我将回顾到目前为止我已采取的步骤并提供文件结构。

我在windows powershell中工作

  • here 安装 Docker Desktop
  • 我按照步骤 here创建一个新的 docker 机器

    2a。我运行的命令是 'docker-machine create -d hyperv --hyperv-virtual-switch "DockerVS"default'
  • 然后我运行 'docker-machine env'
  • 然后我运行 '& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe"env |调用表达式'
  • 然后,在同一目录中,我从 GitHub 中获取了项目,将目录更改为包含 .env 和 docker-compose.yml 文件的位置。然后运行命令 'docker-compose up -d'
  • 此时,我应该能够运行“docker-machine ip default”,将该 IP 粘贴到我的浏览器中并查看页面。至少,我的所有同事使用他们的 Mac 都是这样做的。如果重要,IP 是 10.0.0.117

  • 现在肯定有东西在那里运行,它试图获取“index.php”文件,但它向浏览器返回“找不到文件”。该页面也在运行 phpMyAdmin,所以如果我在浏览器中输入 10.0.0.117:8080,我会看到 this page .所以我有信心我走在正确的轨道上,我只是假设我做了一些小事。

    所以我尝试过的解决方案。我的第一个猜测是我需要一个类似于 :8080 的端口来弹出 php 页面。我运行了 'docker-compose ps' 并尝试了端口 443、3360 和 9000,我都在这里看到:enter image description here

    自然不去。接下来我尝试了各种路径,然后将上述所有端口和路径一起尝试。我尝试的路径是
  • /index.php
  • /index.html
  • /索引
  • /index.htm
  • 以上四个前面加/public-html
  • 以上与前面的/LAMPProject

  • 文件结构如下所示:
    enter image description here

    总而言之,这就是我的工作。在我开始做更大的事情之前,这是一个相当简单的 docker LAMP 设置。任何建议都将非常受欢迎。

    最佳答案

    我认为您应该将 phpmyadmin 端口映射到另一个端口,例如 8081 而不是 80,apache 容器也映射到 80。

    关于php - Docker Compose LAMP 堆栈不提供 index.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54387134/

    相关文章:

    php - 解析HTML div ID包括所有内部内容

    php - MySQL 查看引用表?

    python - 无法将带引号的字符串传递给 docker 容器中的 python 脚本

    dotcloud - 如何从 docker run -i 获取输出

    docker - 使用Docker和Jenkins自动进行Flyway迁移

    php - 如何打印网页

    docker - 如何在 Docker 中处理持久存储(例如数据库)

    java - 使用 docker-compose 时无法访问 docker 容器内的 spring-boot Rest-endpoint

    docker - KeyCloak:在 Docker 中部署自定义主题

    Javascript setInterval 方法始终返回与 PHP 方法相同的结果,但我需要更改数据