028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

PHP项目怎么Docker化

这篇文章主要介绍“PHP项目怎么Docker化”,在日常操作中,相信很多人在PHP项目怎么Docker化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP项目怎么Docker化”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:自拌料搅拌车等企业,备受客户赞扬。

文章亮点

  1. 将PHP应用及其依赖的服务容器化步骤

  2. 如何将应用容器镜像的构建自动化

  3. 应用容器如何快速部署到测试环境和生产环境中

快速上手

PHP官方在 http://hub.docker.com 上维护了官方的PHP Docker镜像,包含了从PHP 5.5到7.0的多种不同版本的镜像。

PHP项目怎么Docker化

我们将以PHP官方的Docker镜像为基础,介绍如何将一个简单的PHP应用Docker化。

FROM php:5.6-cli

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

上述 Dockerfile 中,通过 FROM 指令,我们将官方的 php-5.6-cli 作为我们的基础镜像。

通过 COPY 指令,我们把当前目录下的文件,复制到镜像的 /project 目录

CMD 指令设置了镜像默认执行的命令,WORKDIR 则是设置了镜像执行命令时的目录

docker build -t php-app .

这将会生成一个名为 php-app 的镜像

docker run php-app

这时候,容器将会执行我们之前创建的 app.php, 并输出:

Hello Docker!

PHP + MySQL 的Docker化示例

接下来,我们通过一个 PHP + MySQL 的例子,介绍 PHP 应用 Docker 化之后,如何连接数据库。

host_info;
?>

在 index.php 中,我们的 PHP 应用将会通过主机名称 db 连接到 mysql 数据库,同时使用用户名 root, 以及环境变量中的 MYSQL_ROOT_PASSWORD对数据库进行连接。这里简单地通过echo 连接信息来确认 MySQL 连接是否正常。

FROM php:5.6-apache
RUN docker-php-ext-install mysqli
COPY . /var/www/html

这里我们使用的是官方的 php:5.6-apache 镜像,因为我们这一次希望可以直接从浏览器访问这个 PHP 应用。

另外我们通过 RUN 指令运行 docker-php-ext-install mysqli 额外安装了PHP的mysqli扩展

docker build -t php-mysql-app .
docker run --name db -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.6

我们在这里使用官方的 mysql:5.6 镜像创建了一个 MySQL 的容器

--name 参数将容器命名为 db

-e MYSQL_ROOT_PASSWORD=secret 通过环境变量,我们将 MySQL 的 root 用户密码设置为 secret

-d 参数将这个容器设置为后台运行

docker run --link db -e MYSQL_ROOT_PASSWORD=secret -p 8080:80 php-mysql-app

我们运行了之前构建的 php-mysql-app 镜像,并将上一步创建的 mysql-instance 这个MySQL容器和它连接,同时我们把MySQL的root密码通过环境变量MYSQL_ROOT_PASSWORD传到容器内部-p 8080:80 将容器的 80 端口映射到了主机的 8080 端口

Connected to mysql: db via TCP/IP

我们将从浏览器得到 index.php 的执行结果。

基于cSphere 私有Docker Registry的镜像自动构建

在一个Docker化的项目中,项目的Docker镜像成为了项目交付的最终元件。因此在项目的持续集成和持续交付环节中,镜像的自动构建是必不可少的一个环节。

这里介绍如何利用cSphere的私有镜像仓库配置镜像自动构建,实现在代码Push到仓库之后,自动构建Docker镜像。

在通过cSphere的镜像仓库页面,点击新建镜像仓库按钮,根据提示即可成功创建一个私有的镜像仓库.

PHP项目怎么Docker化

到此,关于“PHP项目怎么Docker化”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站题目:PHP项目怎么Docker化
浏览地址:http://www.tsicrk.com/article/gpshjc.html

其他资讯

让你的专属顾问为你服务

1.6821s