为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用网站和 php 运行 Docker 容器?

如何使用网站和 php 运行 Docker 容器?

PHP
MYYA 2022-10-09 16:48:17
我有一个登录页面和一个用于发送电子邮件的 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到底是做什么的?这个对吗?
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

Dockerfile当您要创建自定义图像时使用A。


FROM php:7.4-cli指定要自定义的基本映像。

COPY . /usr/src/app将主机当前目录复制.到容器中 /usr/src/app。

CMD [ "php", "/mail/contact_me.php"]指定要在容器中运行的命令。


在您的情况下,我认为不需要自定义图像。


由于您需要一个带有 PHP 的网络服务器,您可以使用php:7.4.3-apache随附的图像PHP7和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


查看完整回答
反对 回复 2022-10-09
?
呼唤远方

TA贡献1856条经验 获得超11个赞

阅读有关 Dockerfile 的信息(官方文档):编写 Dockerfiles 的最佳实践

并且您可能需要另一个 Docker 映像:Docker HUB ~> bitnami/php-fpme


查看完整回答
反对 回复 2022-10-09
  • 2 回答
  • 0 关注
  • 230 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号