很多站长朋友们都不太清楚自定义php镜像,今天小编就来给大家整理自定义php镜像,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 华为云上四种镜像有什么区别 2、 docker php 镜像怎么配置 3、 阿里云ecs怎么配置php环境 4、 如何制作一个定制的 PHP 基础 Docker 镜像 5、 在MAC上利用Docker镜像搭建PHP5.2开发环境 华为云上四种镜像有什么区别1.
公共镜像 该镜像作为云服务商官方提供的镜像,具有高度的安全性以及稳定性。该镜像可以支持所有Windows Server 和 Linux的主流镜像版本。
2.
自定义镜像 根据现有的物理机服务器、虚拟机或者云主机创建的自定义镜像。该镜像支持用户使用实例或快照创建的镜像或是从本地导入的自定义镜像。
3.
云市场镜像 该镜像是由第三方服务商或者云服务商账号提供的镜像,其支持PHP、JAVA等多语言开发环境的镜像。在云市场镜像挑选镜像适用于不想手动安装开发环境的用户,云市场上的镜像支持用户进行一键安装,速度快速且具有高稳定性与高安全性。
4.
共享镜像 其他云服务商用户共享给你的自定义镜像。
docker php 镜像怎么配置1.选择 Ubuntu 官方的 14.04 版本为我们依赖的系统镜像。
dockerfile
FROM ubuntu:trusty
2.因所有官方镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。如果使用 DaoCloud 的镜像源,则指向:FROM daocloud.io/ubuntu:trusty
3.设置镜像的维护者,相当于镜像的作者或发行方。
dockerfile
MAINTAINER Captain Dao <support@daocloud.io>
4.用 RUN 命令调用 apt-get 包管理器安装 PHP 环境所依赖的程序包。
安装依赖包相对比较固定,因此该动作应该尽量提前,这样做有助于提高镜像层的复用率。
阿里云ecs怎么配置php环境云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务。
使用云服务器ECS就像使用水、电、煤气等资源一样便捷、高效。您无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,您可以随时扩容磁盘、增加带宽。如果不再需要云服务器,也能随时释放资源,节省费用。
ECS涉及的所有资源,包括实例规格、块存储、镜像、快照、带宽和安全组。您可以通过 云服务器管理控制台或者 阿里云 App 配置您的ECS资源。
云服务器ecs都有哪些作用呢?
1、完全管理权限:
对云服务器的操作系统有完全控制权,用户可以通过连接管理终端自助解决系统问题,进行各项操作;
2、快照备份与恢复:
对云服务器的磁盘数据生成快照,用户可使用快照回滚、恢复以往磁盘数据,加强数据安全;
3、自定义镜像:
对已安装应用软件包的云服务器,支持自定义镜像、数据盘快照批量创建服务器,简化用户管理部署;
4、拥有API接口:
使用ECS API调用管理,通过安全组功能对一台或多台云服务器进行访问设置,使开发使用更加方便。
如何制作一个定制的 PHP 基础 Docker 镜像制作基础镜像
选择 Ubuntu 官方的 14.04 版本为我们依赖的系统镜像。
dockerfile
FROM ubuntu:trusty
因所有官方镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。如果使用 DaoCloud 的镜像源,则指向:FROM daocloud.io/ubuntu:trusty
设置镜像的维护者,相当于镜像的作者或发行方。
dockerfile
MAINTAINER Captain Dao <support@daocloud.io>
用 RUN 命令调用 apt-get 包管理器安装 PHP 环境所依赖的程序包。
安装依赖包相对比较固定,因此该动作应该尽量提前,这样做有助于提高镜像层的复用率。
dockerfile
RUN apt-get update \
apt-get -y install \
curl \
wget \
apache2 \
libapache2-mod-php5 \
php5-mysql \
php5-sqlite \
php5-gd \
php5-curl \
php-pear \
php-apc \
用 RUN 命令调用 Linux 命令对 Apache 服务和 PHP 参数进行配置。
dockerfile
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf \
用 RUN 命令调用 mkdir 来准备一个干净的放置代码的目录。
dockerfile
RUN mkdir -p /app rm -rf /var/www/html ln -s /app /var/www/html
将本地的代码添加到目录,并指定其为当前的工作目录。
dockerfile
COPY . /app
WORKDIR /app
设置启动脚本的权限,指定暴露的容器内端口地址。
最后指定容器启动的进程。
dockerfile
RUN chmod 755 ./start.sh
EXPOSE 80
CMD ["./start.sh"]
至此一个 PHP 的基础镜像制作完毕,你可以在本地运行 docker build -t my-php-base . 来构建出这个镜像并命名为 my-php-base 。
由于网络环境的特殊情况,在本地运行 docker build 的时间会很长,并且有可能失败。推荐使用 DaoCloud 加速器 和 DaoCloud 的云端 代码构建 功能。
完整 Dockerfile
``` dockerfile
Ubuntu 14.04,Trusty Tahr(可靠的塔尔羊)发行版
FROM ubuntu:trusty
道客船长荣誉出品
MAINTAINER Captain Dao < support@daocloud.io >
APT 自动安装 PHP 相关的依赖包,如需其他依赖包在此添加
RUN apt-get update \
apt-get -y install \
curl \
wget \
apache2 \
libapache2-mod-php5 \
php5-mysql \
php5-sqlite \
php5-gd \
php5-curl \
php-pear \
php-apc \
# 用完包管理器后安排打扫卫生可以显著的减少镜像大小
apt-get clean \
apt-get autoclean \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
# 安装 Composer,此物是 PHP 用来管理依赖关系的工具
# Laravel Symfony 等时髦的框架会依赖它
curl -sS \
| php -- --install-dir=/usr/local/bin --filename=composer
Apache 2 配置文件:/etc/apache2/apache2.conf
给 Apache 2 设置一个默认服务名,避免启动时给个提示让人紧张.
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf \
# PHP 配置文件:/etc/php5/apache2/php.ini
# 调整 PHP 处理 Request 里变量提交值的顺序,解析顺序从左到右,后解析新值覆盖旧值
# 默认设定为 EGPCS(ENV/GET/POST/COOKIE/SERVER)
sed -i 's/variables_order.*/variables_order = "EGPCS"/g' \
/etc/php5/apache2/php.ini
配置默认放置 App 的目录
RUN mkdir -p /app rm -rf /var/www/html ln -s /app /var/www/html
COPY . /app
WORKDIR /app
RUN chmod 755 ./start.sh
EXPOSE 80
CMD ["./start.sh"]
```
在MAC上利用Docker镜像搭建PHP5.2开发环境随着MAC操作系统和各种软件的不断升级,在系统上搭建APACHE2.4+PHP5.2的环境变得异常困难,笔者尝试过通过brew install php@5.6的环境,并利用brew-php-swithcer或者brew link php 5.6来和PHP7做切换,但实际使用中,PHP5依赖一些软件包,比如openssl比较老,导致出现各种问题,并不能很好的解决在一个电脑上,运行两套PHP开发环境的需求。基于此,笔者只能另辟蹊径,通过Dokcer来解决这个问题。
1、官网查找一下php可以使用的镜像(别人做好上传的),直接搜比如php5.2之类的
2、笔者找的是flandera/php5.2-apache这个,自带apache,由于缺乏文档,把镜像拉下来,跑一下进去看看
进去后,研究下结构,结果如下:
apache的conf文件目录在/etc/conf/apache2/apache2.conf,此外这个conf文件include了一个空的httpd.conf文件
网站根目录在/var/www下
3、解决思路
编制一个dockerfile文件,将httpd.conf文件打包成新的镜像
将程序通过docker命令映射到容器中
4、编制conf文件
5、编制dockerfile(参考,名称和目录根据实际修改)
6、重新编译并运行
执行命令时候,httpd.conf需要和Dockerfile在同一个目录,如果conf文件有改动,需要重新打包
5、mac电脑打
看是不是正常了
关于自定义php镜像的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于自定义php镜像 php自定义错误处理的详细内容...