Docker之二:Web容器测试

2018-01-12  本文已影响0人  bighippo

前言:准备Docker虚机

  1. 安装vm虚机及docker
  2. 修改虚机ip地址,例如:172.16.3.79

第一部分:编写web程序

  1. 创建 ~/phptest/src
  2. 在src目录中创建index.php
<?php

echo "Hello World";

第二部分:编写Dockerfile

  1. 在webtest目录中创建Dockerfile
# 从官方registry中下载php:7.0-apache镜像
FROM php:7.0-apache
# 将src目录中的文件覆盖容器中的/var/www/html目录
COPY src/ /var/www/html
# 容器对外开放80端口
EXPOSE 80

第三部分:构建并运行测试

  1. 创建容器
cd ~/phptest/
docker build -t phptest .
  1. 运行容器(方式一: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
  1. 运行容器(方式二: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文件,并即时变化

第四部分:其他

  1. 删除容器
删除运行中的容器
docker rm -f 10fed6464ec3
docker rm -f phptest:latest

删除image
docker rmi -f 10fed6464ec3
docker rmi -f phptest:latest
  1. 修改容器版本号及标志
在原镜像基础上添加一个新的tag名称
docker tag 10fed6464ec3 phptest:v2
  1. 备份及恢复容器
打包容器
docker save phptest:latest > phptest.tar
ls -sh phptest.tar

先删除现有容器
docker rmi -f phptest:latest

加载容器备份
docker load < phptest.tar
docker ps
上一篇下一篇

猜你喜欢

热点阅读