Docker下 Tomcat 应用
一、Tomcat 部署
通过docker 直接 部署 Tomcat,不需要再考虑服务器上的jdk 安装及环境变量配置等复杂操作,镜像里已全部包含。
- 镜像拉取
#默认拉取最新版本的镜像
docker pull tomcat
#根据指定版本拉取(可根据自身项目的 jdk 版本获取,具体版本可以https://registry.hub.docker.com 进行搜索 -> tomcat -> Tags 进行查找)
docker pull tomcat:8.5.63-jdk8-openjdk
- 宿主机(服务器)存放 war 包路径创建,主要目的是为了与 Tomcat 容器内的目录进行映射
mkdir -p /services/admin/
- Tomcat容器创建
#参数说明
–name 为容器取一个自己喜欢的名字
-v 磁盘挂载,宿主机路径与容器内路径的映射
–restart=always 重启时,自动启动当前容器
# 使用默认最新版本 tomcat 容器创建,如果不带版本号,会先检查本地镜像仓库是否存在镜像,没有则会先拉取镜像,然后运行
docker run -d -p 8080:8080 --name tomcat_admin -v /services/admin:/usr/local/tomcat/webapps --restart=always tomcat
#带版本号的启动,此处以上面拉取的 tomcat:8.5.63-jdk8-openjdk 为准
docker run -d -p 8080:8080 --name tomcat_admin -v /services/admin:/usr/local/tomcat/webapps --restart=always tomcat:8.5.63-jdk8-openjdk
二、应用 war 包部署到 Tomcat
- 将自己的应用 war 包上传至服务器指定目录,此处目录为上面创建的 /services/admin/
- 上传完毕后,查看当前目录,发现刚上传的 war 包已经被 Tomcat 自动解压了;
- 此时可以通过浏览器访问一下,不过建议上传完新的 war 包,重启 Tomcat 后再进行访问;
- 重启 Tomcat
# 这里的 tomcat_admin 为我自己创建 Tomcat 容器时为容器取的名字,也可以使用容器 ID
docker restart tomcat_admin
- 待 Tomcat 完全启动好后,访问应用:http://211.88.26.238:8080/admin
- 查看 Tomcat 的日志
docker logs tomcat_admin