前提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容器運行

