简介:有时候我们需要将php的项目打包成docker镜像,这里介绍下

思路:我们php和apache结合一个镜像实现php项目的访问,mysql是一个单独的镜像

步骤:

1.首先我们在本地测试好自己的php项目是不是可以用的,毕竟放到服务器上面后测试就不是很方便了。然后我们将php的项目导入到服务器中,在项目目录下新建index.php,myapp/index.php内容:

<?php
echo "Hello";
?>

2.在项目的同目录下新建Dockerfile文件,内容:

FROM php:5.6-apache
RUN docker-php-ext-install mysqli
ADD myapp /var/www/html

简单说明下我们基于的镜像是php:5.6-apache,然后配置mysql拓展,将项目copy到容器的var/www/html目录下,这里只会负责myapp下面的内容,myapp本身目录不复制

3.继续在项目同目录下创建镜像 docker build -t myapp .

4.将镜像放到容器中: docker run -d -p 80:80 myapp

5.在浏览器中输入服务器IP,页面显示Hello

php配置完了,然后再测试你自己的项目吧

将php项目打包docker镜像的更多相关文章

  1. Azure Devops实践(5)- 构建springboot项目打包docker镜像及容器化部署

    使用Azure Devops构建java springboot项目,创建镜像并容器化部署 1.创建一个springboot项目,我用现有的项目 目录结构如下,使用provider项目 在根目录下添加D ...

  2. springboot项目打包docker镜像maven插件

    <!-- profile docker config --> <profiles> <profile> <id>docker</id> &l ...

  3. Java SpringBoot 项目构建 Docker 镜像调优实践

    PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...

  4. 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  5. 将spring cloud打包docker镜像

    简介:用spring cloud构建微服务后,微服务肯定要docker镜像化然后用rancher等可视化工具管理,这就是走完了一套基本的流程,现在简单介绍下 环境:两台centos7.x的服务器,一台 ...

  6. 【Docker】(5)---springCloud注册中心打包Docker镜像

    [Docker](5)---springCloud注册中心打包Docker镜像 上一篇文章讲了将镜像推送到远处私有仓库,然后再从私有仓库拉取该镜像的过程.而这里的镜像是直接从Docker拉取的. 所以 ...

  7. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

  8. Jenkins把GitHub项目做成Docker镜像

    本文是<Jenkins流水线(pipeline)实战>系列的第三篇,前面已对Jenkins流水线有了基本认识,也试过从GitHub下载pipeline脚本并执行,今天的实战是编写一段pip ...

  9. Python环境搭建、python项目以docker镜像方式部署到Linux

    Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...

随机推荐

  1. 【python】python的正则表达式 re

    ps:本文摘自互联网,觉得结构很好,讲的也很清晰.记下,备查. 延伸阅读:python的 内建函数 和 subprocess .此文是本系列的第三篇文章了,和之前一样,内容出自官方文档,但是会有自己的 ...

  2. FPGA时钟分频(转)

    http://www.cnblogs.com/fpga/archive/2009/10/24/1589318.html 占空比为50%的分频 偶数分频比较简单 比如N分频,那么计数到N/2-1,然后时 ...

  3. HTTPS 传输优化详解之动态 TLS Record Size

    笔者在过去分析了诸多可以减少 HTTPS 传输延迟的方法,如分布式 Session 的复用: 启用 HSTS,客户端默认开启 HTTPS 跳转:采用 HTTP/2 传输协议:使用 ChaCha20-P ...

  4. 截断上传 CTF

    题目:上传绕过 介绍:http://teamxlc.sinaapp.com/web5/21232f297a57a5a743894a0e4a801fc3/index.html 1,我们打开链接,是个上传 ...

  5. Vim常用操作-合并行。

    刚接触 Vim 会觉得它的学习曲线非常陡峭,要记住很多命令.所以这个系列的分享,不会教你怎么配置它,而是教你怎么快速的使用它. 在开发时为了代码美观,经常会把属性用换行的方式显示. <el-di ...

  6. 状态机编程思想(2):删除代码注释(目前支持C/C++和Java)

    有时为了信息保密或是单纯阅读代码,我们常常需要删除注释. 之前考虑过正则表达式,但是感觉实现起来相当麻烦.而状态机可以把多种情况归为一类状态再行分解,大大简化问题.本文就是基于状态机实现的. 删除C/ ...

  7. 物联网蓝牙模块:DA14586蓝牙5模块很快到来

    Dialog半导体的SmartBond系列的下一代产品---DA14586已经发布.该全新的系统级芯片(SoC)是公司首款支持最新蓝牙5.0规范的独立器件,为先进应用提供最低的功耗和无可比拟的功能. ...

  8. 在O(n)时间复杂度内找到出现超过一半的数

    #include<iostream> using namespace std; bool solver(const int a[],const int n, int & num) ...

  9. axure扫盲

    axure扫盲 zhuyuansj   2017.10.18 20:39* 字数 162 阅读 25评论 2喜欢 3 编辑文章 坐我旁边的前端今天正好初学axure,然后我就顺便学了几招比较基础的,这 ...

  10. setTimeout和setInterval和单线程

    我们知道,js是单线程执行的(单线程j就是说在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行).所以其实setTimeout和setInterval所谓的"异 ...