Docker之二:Web容器测试
2018-01-12 本文已影响0人
bighippo
前言:准备Docker虚机
- 安装vm虚机及docker
- 修改虚机ip地址,例如:172.16.3.79
第一部分:编写web程序
- 创建 ~/phptest/src
- 在src目录中创建index.php
<?php
echo "Hello World";
第二部分:编写Dockerfile
- 在webtest目录中创建Dockerfile
# 从官方registry中下载php:7.0-apache镜像
FROM php:7.0-apache
# 将src目录中的文件覆盖容器中的/var/www/html目录
COPY src/ /var/www/html
# 容器对外开放80端口
EXPOSE 80
第三部分:构建并运行测试
- 创建容器
cd ~/phptest/
docker build -t phptest .
- 运行容器(方式一:index.php在容器内)
运行phptest容器,并将本机80端口与容器80端口对接
docker run -p 80:80 phptest
出现类似AH00094: Command line: 'apache2 -D FOREGROUND'字样表示正常运行起来
客户端测试
浏览器打开http://172.16.3.79,可以看到Hello World字样
退出容器
按Control+c可退出容器
查看运行容器
docker ps
- 运行容器(方式二:index.php在容器外)
运行phptest容器,将容器的web目录指向src目录
docker run -p 80:80 -v ~/phptest/src/:/var/www/html/ phptest
修改phptest/src/index.php文件
<?php
echo "This is test";
客户端测试
浏览器打开http://172.16.3.79,可以看到This is test字样
注:采用这种模式,可随便修改容器外index.php文件,并即时变化
第四部分:其他
- 删除容器
删除运行中的容器
docker rm -f 10fed6464ec3
docker rm -f phptest:latest
删除image
docker rmi -f 10fed6464ec3
docker rmi -f phptest:latest
- 修改容器版本号及标志
在原镜像基础上添加一个新的tag名称
docker tag 10fed6464ec3 phptest:v2
- 备份及恢复容器
打包容器
docker save phptest:latest > phptest.tar
ls -sh phptest.tar
先删除现有容器
docker rmi -f phptest:latest
加载容器备份
docker load < phptest.tar
docker ps