docker 容器下运行tomcat 部署应用
docker安装tomcat
查找Docker Hub上的tomcat镜像
[email protected]:~/tomcat$ docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementa... 744 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 19 [OK]
consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK]
consol/tomcat-8.0 Tomcat 8.0.15, 8080, "admin/admin" 14 [OK]
cloudesire/tomcat Tomcat server, 6/7/8 8 [OK]
davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 wi... 6 [OK]
andreptb/tomcat Debian Jessie based image with Apache Tomc... 4 [OK]
kieker/tomcat 2 [OK]
fbrx/tomcat Minimal Tomcat image based on Alpine Linux 2 [OK]
jtech/tomcat Latest Tomcat production distribution on l... 1 [OK]
这里我们拉取官方的镜像
docker pull tomcat
等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为tomcat的的镜像。
[email protected]:~/tomcat$ docker images|grep tomcat
tomcat latest 70f819d3d2d9 7 days ago 335.8 MB
使用Tomcat的镜像
docker run --name tomcat -p 8080:8080 -v /usr/local/tomcat/webapps/test:/usr/local/tomcat/webapps/test -d tomcat
命令说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v / usr / local / tomcat / webapps / test:/ usr / local / tomcat / webapps / test:将主机中当前目录下的test挂载到容器的/ test
查看容器启动情况
[email protected]:~/tomcat$ docker ps
CONTAINER ID IMAGE COMMAND ... PORTS NAMES
acb33fcb4beb tomcat "catalina.sh run" ... 0.0.0.0:8080->8080/tcp tomcat
通过浏览器访问
部署战争应用
假如我们的应用在目录:在/ usr /本地/ Tomcat的/ webapps中目录下
服务启动后把对应的战争包拷贝到容器中
docker cp moneylaundering.war tomcat:/usr/local/tomcat/webapps
其中:–privileged=true是授予docker挂载的权限
/Users/apple/webapp宿主主机目录
/usr/local/tomcat/webapps/demo docker容器tomcat目录
-p 端口映射
–name 容器名称
部署应用
进入已经启动的容器
docker exec -it containerID /bin/bash
只需要把对应的jar copy到容器下面就可以了前提是需要有对应的JDK环境
docker cp ruoyi-admin.jar tomcat:/usr/local
然后启动应用
nohup java -jar ruoyi-admin.jar &
然后看对应的启动日志
tail -f nohup.out