我们可以使用docker运行php应用程序。在以下步骤中,将使用创建Docker并运行php应用程序。
mkdir /home/wushuang/docker/php-docker-app
创建一个名称为:index.php的PHP文件(vi /home/wushuang/docker/php-docker-app/index.php),内容如下 -
<?php
echo "This is first PHP Script build by docker.";
?>
FROM php:7.0-apache
COPY . /var/www/html
RUN rm -rf /etc/apache2/sites-enabled/000-default.conf
创建上面文件之后,项目有两个文件,如下面所示 -
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
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 -
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映像。
sudo docker run php-app
可以看到我们的Docker映像正在运行。此映像正在IP为172.17.0.2上运行,现在打开浏览器或使用curl 172.17.0.2 访问测试。
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 输出结果如下 -
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$