如何在浏览器中通过Docker通过VirtualBox查看index.php?

时间:2018-02-02 17:31:15

标签: docker

我正在学习docker并开始测试简单项目只包含index.php,但它不起作用。

我在Windows操作系统上的VirtualBox(CentOS)中启动了docker。

我有index.php

<?php
echo "Hello world";

我有Dockerfile

FROM php:7.0-apache  
COPY . /var/www/html

然后构建图像并启动容器:

docker build -t php-app .
docker run php-app

当我启动容器时,我看到它的ip

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.4.

在VirtualBox中,我可以使用

查看index.php
curl 172.17.0.4/index.php

但在我的Windows操作系统中,我在浏览器中键入192.168.1.194(VirtualBox ip),我没有看到我的index.php。显然港口问题。但是我应该通过Windows浏览器更改看Docker中的index.php?

1 个答案:

答案 0 :(得分:1)

您需要公开您的端口。

使用以下命令运行容器:

docker run -p 80:80 php-app

这样,您的容器的80端口就是您的Apache实例正在侦听的位置,它将绑定到您的主机(在这种情况下为您的虚拟机vm)80端口,您应该能够从外部访问它。

您可以在官方页面中阅读docker的所有命令行选项文档:https://docs.docker.com/engine/reference/run/#pid-equivalent