Code Monkey home page Code Monkey logo

php-sample's Introduction

如何开发一个 PHP 的 Docker 化应用

目标:基于 PHP 的 Docker 基础镜像,开发一个 Docker 化的示例 PHP 应用 。

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

基于官方镜像

本次基础镜像使用 PHP 官方镜像,也可以根据自己的项目需求与环境依赖使用 定制的 PHP 基础镜像

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

官方镜像维护了自 5.4 版本起的所有 PHP 基础镜像,所有镜像均采用 debian:jessie 作为系统镜像。

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

FROM daocloud.io/php:5.6-cli

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

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

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

ADDCOPY 的区别,总体来说 ADDCOPY 都是添加文件的操作,其中 ADDCOPY 功能更多,ADD 允许后面的参数为 URL,还有 ADD 添加的文件为压缩包的话,它将自动解压。

CMD 为本次构建出来的镜像运行起来时候默认执行的命令,我们可以通过 docker run 的启动命令修改默认运行命令。

Dockerfile 具体语法请参考:Dockerfile

有了 Dockerfile 以后,我们可以运行下面的命令构建 PHP 应用镜像并命名为 my-php-app

docker build -t my-php-app .

最后,让我们从镜像启动容器:

docker run my-php-app

Welcome the world of Docker !

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

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

php-sample's People

Contributors

golfenguo avatar vizv avatar ye-ting avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.