docker php示例,Docker 编程语言之 PHP

PHP 是一种广泛使用的动态脚本语言,尤其适用于各种 Web方案。PHP 的哲学是quickand dirty(快速有效为先)。

下面介绍PHP语言的Docker 环境,并简述PHP主流MVC框架的Docker环境。

1.使用官方镜像

下载PHP官方基础镜像。sudo docker pull php

下载成功后,可以使用一个PHP容器去运行PHP 程序/站点。

简单运行,用以下命令直接运行PHP 脚本:# sudo docker run  -it --rm --name my-running-script -V "$(pwd)":/usr/src/myapp -w /usr/src/myapp php:5.6-cli php your-script.php

2. 定制镜像

第一歩,下载镜像安装下载PHP 官方基础镜像:# sudo docker pull php下载完成后,使用docker images 查看PHP 基础镜像是否安装完成:# sudo docker images

第二步, 在Docker 中运行一条PHP 命令(CLI):# sudo docker run -it docker/php可见 CLI 直接输出# sudo docker run -it php echo 'hello docker!'第三步,在Docker 中运行一段PHP 代码:

首先,读者需要确定当前目录位置,使用pwd命令,创建一个sample 目录:# pwd/home/core# mkdir sample# cd sample

创建PHP文件,内容如下:<?phpclass  demo{

function_construct(){        echo 'Building Object,';        echo "\n";

}    function hello_wold(){        print 'Hello World!';

}

}

$demo_object = new demo();

$demo_object->hello_world();?>

下面基于sshd 镜像,构建一个能方便运行PHP业务代码(非单个PHP CLI 命令)的镜像:FROM sshd:dockerfile# 安装基础镜像ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update &&\

apt-get-yq install\

curl\

apach2\

libapache2-mod-ph5\

php5-mysql\

php5-gd\

php5-curl\

php-pear\

php-apc &&\

rm -rf/var/lib/apt/lists/*

RUN sed -i "s/Variables_order.*/variables_order = \"EGPCS\"/g"  /etc/php5/apache2/php.ini

RUN curl -sS https://getcomposer.org/installer /php -- --install-dir=/usr/local/bin --filename=composer

RUN echo "Asia/Shanghai" >/etc/timezone &&\

dpkg-reconfigure -f noninteractive tzdata# 添加脚本,并设置权限ADD run.sh /run.sh

RUN chmod 755 /*.sh# 添加一个示例php站点RUN mkdir -p /var/lock/apache2 &&mkdir -p /app &&rm -fr /var/www/html && ln -s /app/var/www/html

COPY sample/ /app# 设置apache相关的一些变量,在容器启动的时候可以使用-e 参数替代ENV APACHE_RUN_USER www-data

ENV APACHE_RUN_GROUP www-data

ENV APACHE_LOG_DIR /var/log/apache2

ENV APACHE_PID_FILE /var/run/apache2.pid

ENV APACHE_RUN_DIR /var/run/apache2

ENV APACHE_LOCK_DIR /var/lock/apache2

ENV_APACHE_SERVERADMIN admin@localhost

ENV APACHE_SERVERNAME localhost

ENV APACHE_SERVERALIAS docker.localhost

ENV APACHE_DOCUMENTROOT /var/www# 使用 80 端口EXPOSE 80

WORKDIR /app

CMD ["/run.sh"]

run.sh 文件内容如下:#!/bin/bash/usr/sbin/sshd -D &

chown www-data:www-data /app -Rsource /etc/apache2/envvarsexec apache2 -D FOREGROUND

然后,构建此镜像:# sudo docker build -t my-php:dockerfile .构建成功后,运行镜像:# sudo docker run -d -P php查看是否启动成功:# sudo docker ps使用 49160 端口可以打开 php 页面,使用49159 端口可以打开ssh 服务(端口号在docker ps 里查看)# curl 127.0.0.1:39160/demo.php也可以通过浏览器访问 http://宿主主机IP:49160 来访问我们的示例程序。

作者:刘远鑫

链接:https://www.jianshu.com/p/b8354d501bd0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值