docker 部署 tomcat
前置条件
已经安装好docker-ce版本,并已经启动docker服务
https://hub.docker.com/
从这个网站里面搜索tomcat,点击熟悉的tomcat(官方一般在前,不是官方图标则是个人发布的)
选择可用标签 也就是版本
第一步 拉取tomcat
从镜像中拉取tomcat
docker pull tomcat:8.5-jdk11-adoptopenjdk-hotspot
docker pull 镜像名:tags
tags 是可选的 所以 也可以不用 这样拉取下来的tomcat官方默认版本
docker pull tomcat
第二步 查看tomcat
docker images
查看已经拉取的镜像,TAG 一栏里面 latest 就是不带版本号的镜像,镜像在里面说明第一步拉取成功
第三步 启动tomcat
docker run tomcat
启动完成使用命令查看tomcat是否运行,在前台启动ltomcat 需要linux新开标签页在使用,否则只能停止tomcat了
docker ps
也可以查看所有创建的容器
docker ps -a
第四步 验证
去浏览器输入服务器地址:8080 查看 发现无法访问,原因是因为宿主机无法与docker内部容器进行通信 为了解决这个问题 需要进行端口映射
Ctrl + C 退出前台运行的
使用命令进行端口映射 并在后台启动tomcat , -d 是设置后台启动 -p 是设置端口 宿主机端口:容器端口
docker run -d -p 8889:8080 tomcat
之后去浏览器查看结果
发现 tomcat 是启动并能运行的,只是没有默认的页面,这个问题是因为容器里面的webapps 文件夹没有页面 现在的解决办法是 进入到容器内部 webapps.dist 发现 webapps 里面的东西都跑这来了, 所以 将webapps.dist 的文件复制到 webapps 里面 即可
docker exec -it XXXX(容器id) /bin/bash
cp -r webapps.dist/. webapps
容器id 就是创建之后 docker ps 的第一列
cp 是linux 复制 -r 递归复制目录 webapps.dist/.是目录下的所有文件 webapps 是目标地址
之后刷新浏览器 成功部署tomcat
谢谢观赏~