docker部署tomcat应用
1、拉取tomcat镜像
搜索tomcat镜像:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 2653 [OK]
拉取tomcat镜像:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker pull tomcat:8.5.34
其中tomcat:8.5.34是指拉取的tomcat的版本为8.5.34,如果不指定版本,则拉取最新的。
查看已拉取的镜像:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 8.5.34 ca9e2fccef98 16 months ago 463MB
2、创建tomcat容器
创建tomcat容器:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker run --name tomcat_kq -p 8081:8080 -v /docker_v/tomcat_kq/webapps:/usr/local/tomcat/webapps -d tomcat:8.5.34
其中:
--name tomcat_kq 容器的名称为tomcat_kq
-p 8081:8080 将主机8081端口映射到容器8080端口,访问应用时直接访问主机8081即可
-v /docker_v/tomcat_kq/webapps:/usr/local/tomcat/webapps 将主机目录映射到容器tomcat的webapps,这样我们部署应用时直接将应用放到主机目录/docker_v/tomcat_kq/webapps即可
-d 后台启动
tomcat:8.5.34 创建容器使用的镜像及版本
查看创建好的容器实例:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
161eee53356c tomcat:8.5.34 "catalina.sh run" 2 hours ago Up 2 hours 0.0.0.0:8081->8080/tcp tomcat_kq
3、部署web应用
将部署包上传到主机/docker_v/tomcat/webapps目录下:
[root@iZbp13sno1lc2yxlhjc4b3Z webapps]# pwd
/docker_v/tomcat_kq/webapps
[root@iZbp13sno1lc2yxlhjc4b3Z webapps]# ls
kqweb kqweb.zip ROOT ROOT.zip
重启tomcat容器:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker stop tomcat_kq
tomcat_kq
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker start tomcat_kq
tomcat_kq
访问web应用,地址:http://192.168.2.130:8081/kqweb/index.html
说明:192.168.2.130:主机ip地址,8081:主机端口
4、后记
以上tomca容器部署应用使用的是挂载方式,直接将容器中tomcat的目录挂载到宿主主机,这样我们部署应用时,只需要操作主机上的目录文件即可,非常方面。
还有一种方式是直接将应用包部署到tomcat容器中去,个人感觉这种方式不太方便,因为修时改文件时需要进入到容器里面去操作,不太喜欢。
下面给出拷贝应用包到容器的命令,其他不在此多述。
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker cp kqweb.war tomcat_kq:/usr/local/tomcat/webapps
说明:
cp kqweb.war 将应用包拷贝到容器
tomcat_kq 容器名称
/usr/local/tomcat/webapps 容器中tomcat的应用目录
进入容器查看:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker exec -it tomcat_kq /bin/bash
root@161eee53356c:/usr/local/tomcat# cd webapps/
root@161eee53356c:/usr/local/tomcat/webapps# ls
ROOT ROOT.zip kqweb kqweb.zip
root@161eee53356c:/usr/local/tomcat/webapps# exit
exit 退出容器
到此,docker创建tomcat容器部署web应用讲解完成,有问题大家多留言,欢迎沟通交流。