前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker PHP应用程序示例

Docker PHP应用程序示例

作者头像
黑洞代码
发布2022-01-04 15:07:55
8790
发布2022-01-04 15:07:55
举报

我们可以使用docker运行php应用程序。在以下步骤中,将使用创建Docker并运行php应用程序。

创建一个目录

代码语言:javascript
复制
mkdir /home/wushuang/docker/php-docker-app

创建一个PHP文件

创建一个名称为:index.php的PHP文件(vi /home/wushuang/docker/php-docker-app/index.php),内容如下 -

代码语言:javascript
复制
<?php  
    echo "This is first PHP Script build by docker.";
?>

创建一个 Dockerfile 文件

代码语言:javascript
复制
FROM php:7.0-apache  
COPY . /var/www/html 
RUN rm -rf /etc/apache2/sites-enabled/000-default.conf

创建上面文件之后,项目有两个文件,如下面所示 -

代码语言:javascript
复制
wushuang@ubuntu:~/docker/php-docker-app$ ll
total 16
drwxrwxr-x 2 wushuang wushuang 4096 Jan  3 06:31 ./
drwxrwxr-x 4 wushuang wushuang 4096 Jan  3 06:19 ../
-rw-rw-r-- 1 wushuang wushuang   96 Jan  3 06:31 Dockerfile
-rw-rw-r-- 1 wushuang wushuang   65 Jan  3 06:27 index.php

创建Docker映像

代码语言:javascript
复制
wushuang@ubuntu:~/docker/php-docker-app$ sudo docker build -t php-app .
[sudo] password for wushuang: 
Sending build context to Docker daemon  3.072kB
Step 1/3 : FROM php:7.0-apache
7.0-apache: Pulling from library/php
177e7ef0df69: Pull complete 
9bf89f2eda24: Pull complete 
350207dcf1b7: Pull complete 
a8a33d96b4e7: Pull complete 
c0421d5b63d6: Pull complete 
f76e300fbe72: Pull complete 
af9ff1b9ce5b: Pull complete 
d9f072d61771: Pull complete 
37007e292198: Pull complete 
8ba923990f24: Pull complete 
98af8902979a: Pull complete 
f1548c2cd376: Pull complete 
e1062fd0605a: Pull complete 
Digest: sha256:1d34b2e491a02ba7a8d26478132015e197a5ffea37f0a93b42621d11cfe042cc
Status: Downloaded newer image for php:7.0-apache
 ---> aa67a9c9814f
Step 2/3 : COPY . /var/www/html
 ---> 9a001f4d205d
Step 3/3 : RUN rm -rf /etc/apache2/sites-enabled/000-default.conf
 ---> Running in adc3a0a0209b
Removing intermediate container adc3a0a0209b
 ---> 26b073b85615
Successfully built 26b073b85615
Successfully tagged php-app:latest

现在可以看看Docker容器中所有可用的映像。使用 docker images -

代码语言:javascript
复制
wushuang@ubuntu:~/docker/php-docker-app$ sudo docker images
REPOSITORY    TAG          IMAGE ID       CREATED              SIZE
php-app       latest       26b073b85615   About a minute ago   368MB
java-app      latest       e7fbc0448de3   3 days ago           643MB
mongo         latest       dfda7a2cf273   3 weeks ago          693MB
redis         latest       aea9b698d7d1   4 weeks ago          113MB
hello-world   latest       feb5d9fea6a5   3 months ago         13.3kB
php           7.0-apache   aa67a9c9814f   3 years ago          368MB
java          8            d23bdf5b1b1b   4 years ago          643MB
ubuntu        15.10        9b9cb95443b5   5 years ago          137MB

上面的输出结果中,它显示了所有创建的可用映像中,包含了php-app。

运行Docker映像

现在运行Docker映像,以下命令用于运行Docker映像。

代码语言:javascript
复制
sudo docker run php-app

可以看到我们的Docker映像正在运行。此映像正在IP为172.17.0.2上运行,现在打开浏览器或使用curl 172.17.0.2 访问测试。

代码语言:javascript
复制
wushuang@ubuntu:~/docker/php-docker-app$ sudo docker run php-app 
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Mon Jan 03 14:44:19.843707 2022] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.0.33 configured -- resuming normal operations
[Mon Jan 03 14:44:19.845471 2022] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
172.17.0.2:80 172.17.0.1 - - [03/Jan/2022:14:44:34 +0000] "GET / HTTP/1.1" 200 216 "-" "curl/7.68.0"

打开另一个终端,访问:curl 172.17.0.2 输出结果如下 -

代码语言:javascript
复制
wushuang@ubuntu:~/docker/php-docker-app$ curl 172.17.0.2
This is first PHP Script build by docker.
wushuang@ubuntu:~/docker/php-docker-app$
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落叶飞翔的蜗牛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建一个目录
  • 创建一个PHP文件
  • 创建一个 Dockerfile 文件
  • 创建Docker映像
  • 运行Docker映像
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档