1 搜索tomcat镜像
$ sudo docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… [OK]
tomee Apache TomEE is an all-Apache Java EE certif… [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK and Tomcat base… [OK]
davidcaste/alpine-tomcat Apache Tomcat / using Oracle Java / with… [OK]
bitnami/tomcat Bitnami Tomcat Docker Image [OK]
cloudesire/tomcat Tomcat server, // [OK]
meirwa/spring-boot-tomcat-mysql-app a sample spring-boot app using tomcat and My… [OK]
tutum/tomcat Base docker image to run a Tomcat applicatio…
aallam/tomcat-mysql Debian, Oracle JDK, Tomcat & MySQL [OK]
...
2 下载tomcat镜像
下载自己需要的版本TAG,详见:
docker安装指定版本TAG的镜像
$ sudo docker pull tomcat:-jre8
3 运行容器
$ sudo docker run -d --name=tomcat -p : -v /etc/localtime:/etc/localtime tomcat:-jre8
命令说明:
-d : 以守护线程运行容器
--name tomcat: 将容器的名字命名为tomcat
-p 8080:8080将容器的8080端口映射到主机的8080端口
-v /etc/localtime:/etc/localtime : 将主机的系统时间映射至tomcat容器,作为tomcat容器的系统时间(不然tomcat容器的系统时间和主机的系统时间,会相差8小时)
tomcat:8-jre8 : 需要安装的镜像名称
4 查看容器启动情况
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
913ab69daebf tomcat:-jre8 "catalina.sh run" minutes ago Up minutes 0.0.0.0:->/tcp tomcat
通过浏览器访问
5 部署项目
5.1 确定项目部署路径
需要部署的项目,应该部署到docker tomcat容器里的哪个目录呢?
$ sudo docker exec -it tomcat /bin/bash
root@913ab69daebf:/usr/local/tomcat#
可以看到进入tomcat容器后,目录自动定位在/usr/local/tomcat,即表示,/usr/lcoal/tomcat为tomcat的根目录。项目的部署地址,自然是/usr/local/tomcat/webapps/下。
5.2 上传项目war包到Linux主机
本文以一个名为demo.war为例,放到了主机的/home目录下
$ sudo ls /home/
demo.war
5.3 将主机中的war包,复制到tomcat容器中
$ sudo docker cp /home/demo.war tomcat:/usr/local/tomcat/webapps
进入tomcat容器查看nexus.war是否已复制到/usr/local/tomcat/webapps目录
$ sudo docker exec -it tomcat /bin/bash
root@913ab69daebf:/usr/local/tomcat# ls webapps/
ROOT docs examples host-manager manager demo demo.war
由于tomcat是启动状态,所以可以看到在webapps目录下,除了demo.war外,还解压了一个demo目录