Skip to content

Commit

Permalink
merge with ghost version, revise format
Browse files Browse the repository at this point in the history
  • Loading branch information
vizv committed Jul 21, 2015
1 parent 28c2388 commit 17215e4
Showing 1 changed file with 16 additions and 39 deletions.
55 changes: 16 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,44 @@
## 如何开发一个 PHP 的 Dcoker 化应用
# 如何开发一个 PHP 的 Docker 化应用

目标:基于 PHP 的 Docker 基础镜像,开发一个 Docker 化的实例 PHP 应用 。本项目代码维护在 [DaoCloud/php-sample](https://github.com/DaoCloud/php-sample) 项目中
> 目标:基于 PHP 的 Docker 基础镜像,开发一个 Docker 化的实例 PHP 应用 。
> 本次基础镜像使用位于 [Docker Hub](https://github.com/docker-library/official-images/blob/master/library/php) 的 PHP 官方镜像,也可以根据自己的项目需求与环境依赖[定制一个 PHP 基础镜像]()
> 本项目代码维护在 **[DaoCloud/php-sample](https://github.com/DaoCloud/php-sample)** 项目中
### 基于官方镜像

官方镜像维护了自 5.4 版本起的所有 PHP 基础镜像,所有镜像均采用 debian:jessie 作为系统镜像
> 本次基础镜像使用 PHP 官方镜像,也可以根据自己的项目需求与环境依赖 [定制的 PHP 基础镜像]()
首先,选择官方的 php:5.6-cli 镜像作为项目的基础镜像。
> 因所有镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。
官方镜像维护了自 5.4 版本起的所有 PHP 基础镜像,所有镜像均采用 `debian:jessie` 作为系统镜像。

首先,选择官方的 `php:5.6-cli` 镜像作为项目的基础镜像。

```
FROM daocloud.io/php:5.6-cli
```

* 由于示例代码较为简单,采用仅安装 PHP CLI 的 Docker 镜像来运行。

> 因所有镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。
* 由于该示例代码较为简单,我们采用仅安装 PHP CLI 的 Docker 镜像来运行。

接着,将代码复制到目标目录。

```
add . /app
COPY . /app
WORKDIR /app
CMD [ "php", "./hello.php" ]
```

* `ADD``COPY` 的区别,总体来说 `ADD``COPY` 没有什么区别,只能说 `ADD``COPY` 能做的更多,`ADD` 允许后面的参数为 URL ,还有 `ADD` 添加的文件为压缩包的话,它将自动解压。
* `CMD` 为本次构建出来的镜像运行起来时候默认执行的,我们可以通过 docker 命令修改默认运行命令。
* Dockfile 具体语法请参考:[Dockerfile](https://docs.docker.com/reference/builder/)
* `ADD``COPY` 的区别,总体来说 `ADD``COPY` 都是添加文件的操作,其中 `ADD``COPY` 功能更多更多,`ADD` 允许后面的参数为 URL,还有 `ADD` 添加的文件为压缩包的话,它将自动解压。

* `CMD` 为本次构建出来的镜像运行起来时候默认执行的,我们可以通过 `docker run` 的启动命令修改默认运行命令。
* Dockfile 具体语法请参考:**[Dockerfile](https://docs.docker.com/reference/builder/)**

最后,让我们运行这个示例代码。

```
Welcome the world of Docker !
```

* 如果看到这段字符串,那么就说明你成功进入到了一个 docker 的世界
* 如果看到这段字符串,那么就说明你成功进入到了一个 Docker 化的世界

欢迎来到 Docker 的世界,这个世界有你意想不到的精彩!






#[需要]
* php-apache-sample repo
* daocloud hub上的相关image
* 示例代码过于简单

`./hello.php`
```
<?php
echo 'Hello World';
```

`./Dockerfile`
```
FROM php:5.6-cli
COPY . /app
WORKDIR /app
CMD [ "php", "./hello.php" ]
```

0 comments on commit 17215e4

Please sign in to comment.