Docker && PHP #1 使用 PHP 官方镜像运行第一个 PHP 程序

Docker & K8S , PHP284 字

目前 Docker 部署算是比较流行的方式,在传统方式搭建生产环境时候我们需要人工进行编译,我们可以利用 Docker 来简化这一步操作,直接拉取官方镜像。

$ docker pull php:7.2-cli
$ docker image list | grep php
php   7.2-cli   dfdb1713d26a   23 months ago   365MB

这个镜像对于值运行 cli 程序来说镜像镜像有些太大了,镜像大就涉及到了拉取时间慢,而且占用磁盘资源,我们也可以选择 alpine 的版本,这是一个专门面向 docker 封装的精简版 Linux,其镜像要更小一些。

$ docker pull php:7.2-cli-alpine3.6

$ docker image list | grep php
php     7.2-cli             dfdb1713d26a   23 months ago   365MB
php     7.2-cli-alpine3.6   27bfb4b1f223   4 years ago     74.1MB

alpine 版本的 php-cli 总大小才 74.1MB。

接下来,我们来看一下该镜像中为我们打包好的 PHP 是否足以运行我们的 PHP 程序,最主要的就是看都安装了那些扩展。

$ docker run -it --rm php:7.2-cli-alpine3.6 php -m

该命令的意义如下:

[PHP Modules]
...
Core
ctype
curl
date
dom
fileinfo
....
[Zend Modules]

如果其扩展不足以支持我们的应用运行,我们可以选择基于官方的 Dockerfile 进行定制,同时如果将要基于当前镜像进行定制的话也可以编写自己的 Dockerfile。

接下来,利用该进行来执行我们的第一个应用程序。

$ cat /home/maksim/index.php
<?php

echo "Hello Docker!";

$ docker run -it --rm --name runphp -v /home/maksim/index.php:/usr/src/index.php php:7.2-cli-alpine3.6 php /usr/src/index.php
Hello Docker!%

这样 PHP 的 Cli 程序就可以运行了。

maksim
Maksim(一笑,吡罗),PHPer,Goper
OωO
开启隐私评论,您的评论仅作者和评论双方可见