全球领先的IT技术网站 |首页 |Tags |网站地图

您现在正在浏览:首页 » 开发频道 » 语言&工具 » Web » PHP » 如何开发一个 PHP + NewRelic 的生产级 Docker 化应用(五)

RSS订阅

如何开发一个 PHP + NewRelic 的生产级 Docker 化应用(五)

暂无Tags标签
摘要:

 标:我们将为之前创建的 PHP + MySQL 应用,配置由 NewRelic 提供的应用监控探针。

本项目代码维护在 DaoCloud/php-newrelic-sample 项目中。

创建 PHP 应用容器

因所有官方镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。

首先,选择官方的 PHP 镜像作为项目的基础镜像。

FROM daocloud.io/php:5.6-apache   

接着,按照 NewRelic 官方 PHP 安装教程,进行脚本的编写。

# 安装 NewRelic RUN mkdir -p /etc/apt/sources.list.d \       && echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' \         >> /etc/apt/sources.list.d/newrelic.list \      # 添加 NewRelic APT 下载时用来验证的 GPG 公钥     && curl -s https://download.newrelic.com/548C16BF.gpg \         | apt-key add - \      # 安装 NewRelic PHP 代理     && apt-get update \     && apt-get install -y newrelic-php5 \     && newrelic-install install \      # 用完包管理器后安排打扫卫生可以显著的减少镜像大小     && apt-get clean \     && apt-get autoclean \     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
  • apt-get update 下载从仓库的软件包列表并获取软件包版本信息。
  • apt-get install -y newrelic-php5 安装 NewRelic PHP5 扩展。
  • Docker 镜像采用分层数据存储格式,镜像的大小等于所有层次大小的总和,所以我们应该尽量精简每次构建所产生镜像的大小。

然后,修改 NewRelic 配置文件。

# 覆盖 NewRelic 配置文件 RUN sed -i 's/"REPLACE_WITH_REAL_KEY"/\${NEW_RELIC_LICENSE_KEY}/g' \       /usr/local/etc/php/conf.d/newrelic.ini RUN sed -i 's/"PHP Application"/\${NEW_RELIC_APP_NAME}/g' \       /usr/local/etc/php/conf.d/newrelic.ini 
  • 主要将 newrelic.appname 和 newrelic.license 按照 DaoCloud 最佳实践通过环境变量的方式暴露出来。

至此,我们 NewRelic 的配置全部完成了,将代码复制到指定目录,并执行构建镜像命令完成我们镜像构建的最后一步

# /var/www/html/ 为 Apache 目录 COPY src/ /var/www/html/   

docker build -t php-newrelic-image .

启动 php-newrelic 容器(本地)

最后,我们将构建好的镜像运行起来

docker run \       --name php-newrelic \     -e NEW_RELIC_LICENSE_KEY=my-newrelic-license \     -e NEW_RELIC_APP_NAME=my-app-name \     -d \     php-newrelic-image 
  • 使用 --name 参数,指定容器的名称。
  • 使用 -e 参数,容器启动时会将环境变量注入到容器中。
  • 使用 -d 参数,容器在启动时会进入后台运行。
  • php-newrelic-image 是由我们上面的 Dockerfile 构建出来的镜像。

启动 php-newrelic 容器(云端)

比起本地创建,在云端创建会更简单。

  1. 在 GitHub 上 Fork DaoCloud/php-newrelic-sample 或者添加自己的代码仓库。
  2. 注册成为 DaoCloud 用户。
  3. 在 DaoCloud 「控制台」中选择「代码构建」。
  4. 创建新项目,选择代码源,开始构建镜像。
  5. 将构建的应用镜像部署在云端并指定 NEW_RELIC_APP_NAME 和 NEW_RELIC_LICENSE_KEY环境变量。

DaoCloud 使用图文介绍

  • 了解如何用 DaoCloud 进行代码构建:参考代码构建
  • 了解如何用 DaoCloud 进行持续集成:参考持续集成
  • 了解如何部署一个刚刚构建好的应用镜像:参考应用部署

DaoCloud 使用视频介绍

NewRelic Dashboard 截图

php-newrelic-sample

0 »

开发专题

JavaScript成为网络霸主的“绯闻”
JavaScript成为网络霸主的“绯闻”

JavaScript正凭借新型工具与功能提升以极度夸张的速度吞噬整个世界。我们是否应该接受这一无法逆转的趋势? 还记得那些旧日往事吗?很多用户因为担心安全问题而在浏览器中禁用JavaScript。如...

C++是垃圾语言?!
C++是垃圾语言?!

Linux之父对C++进行了炮轰,说它是糟糕程序员的垃圾语言,可谓是一石激起千层浪,引起众多程序员朋友的关注和讨论。本专题给出正反方的讨论观点,供大家评说!另外,给出了编程语言的发展状况...

MySQL数据库入门与精通
MySQL数据库入门与精通

MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低...

最新资讯

热点文章

  • 24小时
  • 一周
  • 本月

相关热门文章

  • 本文暂无Tags标签