1)、安装docker(已安装则跳过这步)

CentOS 7 安装Docker



2)、Docker安装Tomcat容器

   2.1)查找服务器的tomcat信息

docker search tomcat 
[[email protected]_centos ROOT]# docker search tomcat
NAME                                  DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                                Apache Tomcat is an open source implementati…   2110                [OK]                
tomee                                 Apache TomEE is an all-Apache Java EE certif…   58                  [OK]                
dordoka/tomcat                        Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   49                                      [OK]
davidcaste/alpine-tomcat              Apache Tomcat 7/8 using Oracle Java 7/8 with…   31                                      [OK]
bitnami/tomcat                        Bitnami Tomcat Docker Image                     25                                      [OK]
consol/tomcat-7.0                     Tomcat 7.0.57, 8080, "admin/admin"              16                                      [OK]
cloudesire/tomcat                     Tomcat server, 6/7/8                            15                                      [OK]
tutum/tomcat                          Base docker image to run a Tomcat applicatio…   11                                      
meirwa/spring-boot-tomcat-mysql-app   a sample spring-boot app using tomcat and My…   10                                      [OK]
jeanblanchard/tomcat                  Minimal Docker image with Apache Tomcat         8                                       
aallam/tomcat-mysql                   Debian, Oracle JDK, Tomcat & MySQL              8                                       [OK]
rightctrl/tomcat                      CentOS , Oracle Java, tomcat application ssl…   3                                       [OK]
maluuba/tomcat7-java8                 Tomcat7 with java8.                             3                                       
amd64/tomcat                          Apache Tomcat is an open source implementati…   2                                       
arm64v8/tomcat                        Apache Tomcat is an open source implementati…   2                                       
99taxis/tomcat7                       Tomcat7                                         1                                       [OK]
primetoninc/tomcat                    Apache tomcat 8.5, 8.0, 7.0                     1                                       [OK]
jelastic/tomcat                       An image of the Tomcat Java application serv…   1                                       
camptocamp/tomcat-logback             Docker image for tomcat with logback integra…   1                                       [OK]
fabric8/tomcat-8                      Fabric8 Tomcat 8 Image                          1                                       [OK]
oobsri/tomcat8                        Testing CI Jobs with different names.           0                                       
swisstopo/service-print-tomcat        backend tomcat for service-print "the true, …   0                                       
picoded/tomcat7                       tomcat7 with jre8 and MANAGER_USER / MANAGER…   0                                       [OK]
cfje/tomcat-resource                  Tomcat Concourse Resource                       0                                       
s390x/tomcat                          Apache Tomcat is an open source implementati…   0                                       

   2.2)下载镜像Starts最高的那个

docker pull  tomcat

   2.3) 查看本地docker所有的镜像

docker images   

[[email protected]_centos ROOT]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              05af71dd9251        11 days ago         463MB
centos              latest              75835a67d134        2 weeks ago         200MB

   2.4)启动tomcat

docker run -p 58080:8080 tomcat    

-p hostPort:containerPort
 -p端口映射,
 hostPort表示宿主机的端口,
 containerPort表示虚拟机的端口。

Docker安装Tomcat及部署Web应用

   2.5)启动后即可访问 10.10.0.130:58080(安装docker的主机地址:docker run -p映射的端口)

Docker安装Tomcat及部署Web应用



3)、部署自己的web项目

3.1)使用 docker ps 命令来查看正在运行的容器

docker ps 

[[email protected]_centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
73549eb136a1        tomcat       "catalina.sh run"   10 minutes ago      Up 10 minutes       0.0.0.0:58080->8080/tcp   distracted_raman

3.1)先停用正在使用的这个tomcat容器

docker stop 73549eb136a1(CONTAINER ID)

3.2)上传我们的项目到宿主机
Docker安装Tomcat及部署Web应用

3.3) 使用挂载的形式将项目挂载到docker镜像的tomcat中

docker run -d -p 58080:8080 -v /root/webapps/ROOT/demo.war:/usr/local/tomcat/webapps/demo.war tomcat

3.4)然后我我在postman中测试,我放的war的接口就查询出来数据了

Docker安装Tomcat及部署Web应用




3.5)PS: 也可以使用官网建议的方式

vi Dockerfile

from tomcat:latest    #你的 tomcat的镜像
MAINTAINER [email protected]    #作者
COPY demo.war   /usr/local/tomcat/webapps  #放置到tomcat的webapps目录下

3.6)生成新的镜像:

docker build -t demo-tomcat:v1 . (. 代表Dockerfile文件所在的路径)
	 [[email protected]_centos ROOT]# docker build -t demo-tomcat:v1 .
    Sending build context to Docker daemon  32.11MB
    Step 1/3 : from tomcat:latest
     ---> 05af71dd9251
    Step 2/3 : MAINTAINER [email protected]
     ---> Running in f43233d195db
    Removing intermediate container f43233d195db
     ---> a86f04f6c759
    Step 3/3 : COPY demo.war   /usr/local/tomcat/webapps
     ---> 41fb2cf6baa3
    Successfully built 41fb2cf6baa3
    Successfully tagged demo-tomcat:v1

3.7)查看生成的镜像

docker images
    [[email protected]_centos ROOT]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    demo-tomcat         v1                  41fb2cf6baa3        35 seconds ago      495MB
    tomcat              latest              05af71dd9251        11 days ago         463MB

3.8) 启动新的镜像

docker run -p 58080:8080 demo-tomcat:v1

Docker安装Tomcat及部署Web应用




此处接步骤 2.4)

3.9) PS:也可以通过命令把包复制到docker的tomcat中

docker ps     # 查看正在运行的容器

Docker安装Tomcat及部署Web应用

3.9)把war包丢到宿主机,再从宿主机在丢到container里面/usr/local/tomcat/webapps

docker cp /root/webapps/ROOT/demo.war 494b70dce4df:/usr/local/tomcat/webapps

4.0)重启tomcat 或者重启 docker restart 【容器id】

docker restart 494b70dce4df

4.1)执行 查看容器tomcat中的项目

docker  exec -it   494b70dce4df /bin/bash    #中间那个是容器id(CONTAINER_ID) 

cd /webapps

ls   # 就可以看到我们的项目了

Docker安装Tomcat及部署Web应用

相关文章: