我有一个登陆页面和一个用于发送电子邮件的 PHP 文件(反馈表)。我想使用 Docker 测试这个表单。
我写了这个 Dockerfile:
FROM php:7.4-cli
COPY . /usr/src/app
CMD [ "php", "/mail/contact_me.php"]
Run Code Online (Sandbox Code Playgroud)
但这对我不起作用。
我mail在项目的根目录中有 PHP 文件的目录,但我仍然不确定 Dockerfile 是否正确:
FROM php:7.4-cli还是必须添加nginx服务器才能运行映像?COPY . /usr/src/app到底有什么作用?这样对吗?Req*_*ven 12
Dockerfile当您要创建自定义图像时使用A。
FROM php:7.4-cli指定要自定义的基本映像。
COPY . /usr/src/app将主机当前目录复制.到容器中 /usr/src/app。
CMD [ "php", "/mail/contact_me.php"]指定要在容器内运行的命令。
在您的情况下,我认为不需要自定义图像。
当你需要用PHP Web服务器,则可以使用php:7.4.3-apache其自带的图像PHP7和ApacheWeb服务器预装。您需要做的就是将您的应用复制到您的容器中,或者使用一个卷。卷很棒,因为它实际上将您的主机目录挂载到您的容器中,允许您从主机编辑您的应用程序并实时查看更改。
您可以docker-compose.yml为此使用文件。
version: "2"
services:
webserver:
image: php:7.4.3-apache
ports:
- "8181:80"
volumes:
- ./app:/var/www/html
Run Code Online (Sandbox Code Playgroud)
假设您的应用程序位于app主机上的文件夹中,该文件夹将安装在/var/html/html您的容器上。这里8181:80会将8181主机上的80端口重定向到容器的端口,即 http 端口。
使用此命令启动您的容器:
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
您应该在以下位置看到您的着陆页 http://localhost:8181
| 归档时间: |
|
| 查看次数: |
4292 次 |
| 最近记录: |