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

2023-12-02

我有一个登陆页面和一个用于发送电子邮件(反馈表)的 PHP 文件。我想使用 Docker 测试这个表单。

我写了这个 Dockerfile:

FROM php:7.4-cli
COPY . /usr/src/app
CMD [ "php", "/mail/contact_me.php"]

但这对我不起作用。

我有目录mailPHP 文件位于项目的根目录中,但我仍然不确定 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(使用前将#替换为@)

如何使用网站和php运行Docker容器? 的相关文章

  • 如何仅删除页面的自动段落格式,而不删除帖子的自动段落格式(WordPress)

    我已经熟悉这个在 WordPress 中删除自动段落格式的小技巧 remove filter the content wpautop remove filter the excerpt wpautop 但是添加这个函数 php删除整个网站的
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • php中的$$是什么意思? [复制]

    这个问题在这里已经有答案了 变量后面的两个背对背 是什么意思 像这样 id 我在哪里可以找到更多相关信息 谢谢 In PHP 意味着您将给至少一名维护程序员带来多年的痛苦和折磨 请注意 您最终可能会成为维护程序员 它是一个可变变量 想象一下
  • 在laravel中组合两个不同的无关系数据库表查询进行分页

    我的数据库中有两个不相关的表 我需要将它们合并 以便我可以将其放在我的搜索视图中 但我不知道是否可能 这是我的代码 这news and season表不相关 但它们具有相似的列 我试图将其放入一个对象中以便于分页 是否可以 search r
  • 收到警告“标头不能包含多个标头,检测到新行”

    我正在用 oops 进行编码 以便用 PHP 上传图像 但是提交图片后却出现警告 标题不能包含多个标题 检测到新行 下面是我的函数 它给出了错误 public function ft redirect query if REQUEST UR
  • php基于onclick函数输入日期类型

    用户选择日期 月份和年份 然后按一个按钮 根据他选择的日期向他显示数据库的值 不知道代码问题出在哪里
  • Facebook iFrame 应用程序 - 摆脱垂直滚动条?

    我已经转换了一个 Facebook 应用程序 http apps facebook com video preferans 从 FBML 到 iFrame 使用 PHP SDK 现在显示的垂直滚动条与我之前显示的内容数量相同 一个徽标 一个
  • Ajax文件上传

    我想使用 Ajax 和 php 上传文件 我有一个表格
  • 如何从脚本中创建新的 Joomla 用户帐户?

    我们正在为 Joomla 创建一个 XML API 允许合作伙伴网站在我们的网站上为其用户创建新帐户 我们已经创建了一个独立的 PHP 脚本来处理和验证 API 请求 但现在我们需要实际创建新帐户 我们最初只想进行 CURL 调用来提交注册
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • 如何在同一 PHP 页面上多次使用 mysqli fetch_assoc() 和准备好的语句?

    有没有办法启用fetch assoc 在同一页上多次使用准备好的语句 data conn gt prepare SELECT FROM some table WHERE id data gt bind param i id data gt
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib

随机推荐

  • iOS:给定一个圆导出点击点的角度

    我有一个 UIImageView 显示一个分为六个相等三角形的圆 对应于 区域 1 0 60 度之间 区域2 gt 60 120度之间 区域3 gt 120 180度之间 区域4 gt 180 240度之间 区域5 gt 240 300度之
  • 如何将值从react-native发送到android活动?

    我想将 rowId 从 React Native Listview 发送到我的 Android 活动中的方法之一 原因是我正在将 React 集成到现有的 Android 应用程序 所以暂时我想发送 rowID 进行进一步处理 对此有什么想
  • Visual Studio 未在解决方案资源管理器中显示提交的文件

    I have committed files in Visual Studio and pushed them to a repo on Github Now i pulled the repo but the committed file
  • 将 SQL 子查询转换为 In to Linq Lambda

    如何将以下 SQL 语句转换为 Lambda 表达式或 Linq 查询 以下查询获取每个问题的最新答案 或者换句话说 为每个问题提供最新的答案 这也将由实体框架执行 SELECT Answers FROM Answers Where Ans
  • git 除了子目录及其被忽略目录的文件

    我使用 git 来管理我的源 我在以下路径中有一些文件 Debug a dll Debug b exe Debug c png Debug Pic a png Debug Pic b bmp Debug Pic c dll 我想忽略这些文件
  • JavaScript 中的 + + 运算符

    当我有一个加号时 我会得到错误的答案 例如 var b 069 var total 0 total total b console log total total 069 然而 当我添加第二个加号时 方程看起来像这样 total total
  • ggplot轴标题中斜体和上标的表达

    我很抱歉问这个问题 但我似乎无法正确地将这个表达式包含在ylab or xlab ggplot2 对象的参数 需要读一下 2q 稀有 不过 2 需要加上上标 我摆弄过expression and paste 但这似乎是不可能的 任何帮助深表
  • IEnumerable 到 FileStreamResult 的流

    我有一个IEnumerable
  • 删除文件权限被拒绝

    我遇到了 Stack Overflow 上有很多条目的问题 但没有一个解决了我的问题 我有这段代码 它尝试删除文件夹中的每个 txt 但我在 DeleteFile 命令上不断收到权限被拒绝的错误 directory C TEST FOLDE
  • Moodle注册表编辑

    我使用的是moodle 2 8 1 我的疑问是关于 Moodle 注册表 我想添加一个确认密码字段 该字段与电子邮件 再次 字段相同 并删除电子邮件 再次 字段 而且它也没有显示电话号码 注册表单中的字段处于解锁状态时 如果要向注册表单添加
  • 接收POST时出现404错误

    我需要使用 php 将 json POST 从 android 发送到 Web 服务器 我尝试了很多代码但不起作用 现在我尝试使用 Postman 进行简单的 POST 无论是否发送数据 并且总是收到404错误 如果我使用 GET 发送数据
  • 为什么多个类选择器不能与removeClass一起使用

    如何在一个声明中使用多个类来完成这项工作 div class ddd back7 d div div class fff back7 f div div class ggg back7 g div ddd fff ggg removeCla
  • 返回重复字母最多的第一个单词

    这是 coderbyte 的 Easy Set 中的一个问题 很多人已经问过这个问题 但我真的很好奇我的特定解决方案出了什么问题 我知道这是一个非常愚蠢且低效的解决方案 原问题 让函数 LetterCountI str 接受传递的 str
  • 从多个接口继承的方法上的 List 返回类型中的 Java 泛型

    我目前在一家拥有多种模块的公司工作 在该公司中 如果您想提供模块内部结构 您可以通过 java 接口提供它 该接口隐藏实际的实现类型并为请求模块提供接口 现在我希望有一个提供程序能够为多个模块提供数据 这些模块公开实际内部数据的不同字段或方
  • 逐行乘以数据框

    输入文件 df1 lt data frame row names c w x y z A c 0 0 0 0 B c 0 1 0 0 C c 1 0 1 0 D c 1 1 1 1 A B C D w 0 0 1 1 x 0 1 0 1 y
  • MVC 失去焦点时需要进行字段验证

    ASP NET MVC 必需 验证仅在以下条件之一触发 1 表格提交2 按 Tab 键进入字段 gt 输入一些文本 gt Tab 退出 gt Tab 返回字段 gt 删除文本 gt Tab 退出 我想以这种方式触发 if 按 T ab 键进
  • 温斯顿记录器不写入文件

    我想用winston登录node用于将错误记录到文件的应用程序 但winston不写入文件 var logger new winston Logger transports new winston transports Console ne
  • 有界通配符和类型参数有什么区别?

    之间有区别吗
  • 使用 JavaScript/ES6 的 for 循环创建可通过 Promise.all 读取的 fetch Promise 数组?

    因此 为了不让任何人对背景故事感到厌烦 我需要从许多 API 访问数据才能运行我的脚本 在执行脚本之前需要加载所有数据 我通常很乐意这样做 我只需声明一些获取请求 编写 Promise all 然后继续执行该函数 然而 我遇到了某个 API
  • 如何使用网站和php运行Docker容器?

    我有一个登陆页面和一个用于发送电子邮件 反馈表 的 PHP 文件 我想使用 Docker 测试这个表单 我写了这个 Dockerfile FROM php 7 4 cli COPY usr src app CMD php mail cont