docker安装Tomcat软件,部署项目

时间:2021-11-02 14:59:06

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

通过浏览器访问

docker安装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目录

5.4 访问demo项目

docker安装Tomcat软件,部署项目