我正在学习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.phpcurl 172.17.0.4/index.php
但在我的Windows操作系统中,我在浏览器中键入192.168.1.194(VirtualBox ip),我没有看到我的index.php。显然港口问题。但是我应该通过Windows浏览器更改看Docker中的index.php?
答案 0 :(得分:1)
您需要公开您的端口。
使用以下命令运行容器:
docker run -p 80:80 php-app
这样,您的容器的80端口就是您的Apache实例正在侦听的位置,它将绑定到您的主机(在这种情况下为您的虚拟机vm)80端口,您应该能够从外部访问它。
您可以在官方页面中阅读docker的所有命令行选项文档:https://docs.docker.com/engine/reference/run/#pid-equivalent