发布于2026-07-20 阅读(0)
扫一扫,手机访问
Docker 的强大之处在于,它几乎可以运行任何类型的应用程序。这次我们就用一个具体的 PHP 项目来走一遍完整的流程——从创建项目文件到构建镜像,再到运行容器,看看整个过程到底有多顺畅。
先把所有相关文件集中放在一个单独的目录里,方便管理。这里我们创建一个叫 docker-php 的目录:
[root@qikegu demo]# mkdir docker-php
进入 docker-php 目录,新建一个 PHP 文件,名字随便起,比如 qikegu.php,内容很简单:
这个文件就是我们要在容器里运行的程序,目前只是输出一行文字,但你可以把它替换成任何实际的业务逻辑。
PHP 文件准备好之后,接下来就该编写 Dockerfile 了——这是 Docker 构建镜像的蓝图,名字必须严格写成 Dockerfile,没有扩展名。在 docker-php 目录下新建这个文件,内容如下:
FROM php:7.3
COPY . /var/www/php
WORKDIR /var/www/php
CMD ["php", "./qikegu.php"]
注意,Dockerfile 里的指令全部大写,这是行业惯例,不遵守的话会报错。这几行指令的含义分别是:
/var/www/php 目录;现在 docker-php 目录下应该有两个文件:
[root@qikegu docker-php]# ls
Dockerfile qikegu.php
切换到 docker-php 目录,执行 docker build 命令来构建镜像。镜像名可以随便取,这里叫 qikegu-php,注意最后的小点表示构建上下文是当前目录:
[root@qikegu docker-php]# docker build -t qikegu-php .
Sending build context to Docker daemon 3.072kB
Step 1/4 : FROM php:7.3
7.3: Pulling from library/php
743f2d6c1f65: Already exists
6307e89982cc: Already exists
807218e72ce2: Already exists
5108df1d03f8: Already exists
6379b2ee8208: Pull complete
97904243782e: Pull complete
6f3a7ed1fc19: Pull complete
e4924fe2ab64: Pull complete
57a3ef7493d5: Pull complete
Digest: sha256:00f053cdb2e46bab5d9ea20c416a007aa84b15883b22a9073a83e1d2f96f0b55
Status: Downloaded newer image for php:7.3
---> e1dce93645bd
Step 2/4 : COPY . /var/www/php
---> d5c47dfa4f38
Step 3/4 : WORKDIR /var/www/php
---> Running in b6f81d4db002
Removing intermediate container b6f81d4db002
---> 996e3419c48f
Step 4/4 : CMD ["php -f", "qikegu.php"]
---> Running in 52957ffeebd4
Removing intermediate container 52957ffeebd4
---> df09b84b2033
Successfully built df09b84b2033
Successfully tagged qikegu-php:latest
构建过程中,Docker 会拉取基础镜像(如果本地没有的话),然后一步步执行每条指令,最后生成一个新的镜像。用 docker images 可以确认一下:
[root@qikegu docker-php]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
qikegu-php latest 25c6fdde4da0 4 minutes ago 367MB
...
镜像已经成功构建,下一步就是运行它。
镜像构建完成后,用 docker run 命令启动一个容器,镜像名就是刚才构建的 qikegu-php:
[root@qikegu docker-php]# docker run qikegu-php
This is php app - qikegu.com
[root@qikegu docker-php]#
输出结果正是 PHP 文件里写的字符串,说明容器成功运行了我们的应用。至此,一个最简单的 Docker + PHP 项目就完成了。你可以把里面的 PHP 文件替换成实际的业务代码,体验一下 Docker 带来的环境一致性——不管在开发机还是生产服务器上,跑起来的结果完全一样。
下一篇:PHP 起步
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8