前提Docker已安装完成。
由于测试网无法直接连入互联网,所以在本机虚拟机内下载tomcat镜像并传到测试网主机中。
虚拟机内执行
查找tomcat镜像;
# docker search tomcat
下拉tomcat镜像;
# docker pull docker.io/tomcat
查看镜像;
[root@localhost docker]# docker images
REPOSITORY
TAG
IMAGE ID
CREATED
SIZE
docker.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
NAMES
03511cba3861
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 images
REPOSITORY
TAG
IMAGE ID
CREATED
SIZE
docker-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容器运行