1)、安装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表示虚拟机的端口。
2.5)启动后即可访问 10.10.0.130:58080(安装docker的主机地址:docker run -p映射的端口)
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)上传我们的项目到宿主机
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的接口就查询出来数据了
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
此处接步骤 2.4)
3.9) PS:也可以通过命令把包复制到docker的tomcat中
docker ps # 查看正在运行的容器
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 # 就可以看到我们的项目了