前提Docker已安装完成。
由于测试网无法直接连入互联网,所以在本机虚拟机内下载tomcat镜像并传到测试网主机中。
虚拟机内执行
查找tomcat镜像;
# docker search tomcat
下拉tomcat镜像;
# docker pull docker.io/tomcat
查看镜像;
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/tomcat latest f3159377bac1 2 weeks ago 463 MB启动tomcat如下;
docker run -p 8081:8080 docker.io/tomcat
通过firefox访问locahost:8081实现访问tomcat;
[root@localhost docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES03511cba3861 f3159377bac1 "catalina.sh run" 5 hours ago Up 5 hours 0.0.0.0:8081->8080/tcp nifty_lumiere将镜像文件导出为tar文件;
docker save f3159377bac1 > /tmp/docker_tar/tomcat.tar
将此tar文件导出传入测试网主机中,并导入docker镜像;
docker load < /root/tomcat.tar
查看离线环境镜像;
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> f3159377bac1 2 weeks ago 463 MB由于信息不全使用如下命令添加信息;
docker tag [image id] [name]:[版本]
例如:
[root@centos7 ~]# docker tag f3159377bac1 docker-tomcat:latest
[root@centos7 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker-tomcat latest f3159377bac1 2 weeks ago 463 MB离线环境下将war包放入/root/packages/docker_war,在运行时挂载到/usr/local/tomcat/webapps目录下;其中–privileged=true是授予docker挂载的权限
[root@centos7 docker_war]# docker run --privileged=true -v /root/packages/docker_war:/usr/local/tomcat/webapps -p 8082:8080 f3159377bac1
至此,已成功把web应用部署在Docker容器运行