我有一个登陆页面和一个用于发送电子邮件(反馈表)的 PHP 文件。我想使用 Docker 测试这个表单。
我写了这个 Dockerfile:
FROM php:7.4-cli
COPY . /usr/src/app
CMD [ "php", "/mail/contact_me.php"]
但这对我不起作用。
我有目录mail
PHP 文件位于项目的根目录中,但我仍然不确定 Dockerfile 是否正确:
- 继承就够了吗
FROM php:7.4-cli
或者我是否必须添加 nginx 服务器来运行图像?
- 线有什么作用
COPY . /usr/src/app
到底是怎么做的?它是否正确?
A Dockerfile
当您想要创建自定义图像时使用。
FROM php:7.4-cli
指定基础图像你想要定制。
COPY . /usr/src/app
复制host当前目录.
进入容器 /usr/src/app
.
CMD [ "php", "/mail/contact_me.php"]
指定要在容器内运行的命令。
就您而言,我认为不需要自定义图像。
由于您需要一个带有 PHP 的网络服务器,您可以使用php:7.4.3-apache
附带的图像PHP7
and Apache
预装网络服务器。您所需要做的就是将应用程序复制到容器中,或使用卷。卷很棒,因为它实际上将主机目录安装到容器中,允许您从主机编辑应用程序并实时查看更改。
您可以使用docker-compose.yml
为此归档。
version: "2"
services:
webserver:
image: php:7.4.3-apache
ports:
- "8181:80"
volumes:
- ./app:/var/www/html
假设您的应用程序位于app
主机上的文件夹,该文件夹将安装在/var/html/html
在你的容器上。这里的8181:80
将重定向8181
主机上的端口80
容器的端口,即 http 端口。
使用此命令启动容器:
docker-compose up -d
您应该会在以下位置看到您的目标网页:http://localhost:8181
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)