安装docker的教程,参考文章:
在linux中安装Tomcat,步骤如下:
1.从远程仓库中拉取Tomcat镜像
docker pull tomcat

如果拉取很慢,通过更换下载镜像的地址便可解决,不过镜像地址可能随时失效,需要多试几个。
解决方法:
vi /etc/docker/daemon.json
进入编辑窗口,将内容替换为:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://kfwkfulq.mirror.aliyuncs.com"
]
}
然后保存退出。
刷新配置并重启docker
systemctl daemon-reload
systemctl start docker
再次执行pull命令,就可以了。
以上配置的地址随时可能失效,如果失效了,需要从网上找其他的地址尝试。
2.查看已经拥有的镜像
docker images

3.运行Tomcat
docker run -p 8000:8080 tomcat
启动Tomcat,并将Tomcat默认的8080端口,映射到docker外部的8000端口。

利用docker安装Tomcat很简单,不需要配置jdk、环境变量等内容。
因为我的linux系统是部署在虚拟机上的,所以访问虚拟机的ip(192.168.1.10),加上8000端口,就可以访问到Tomcat了,因为Tomcat没有首页的地址,所以显示404,Tomcat实际已经启动了。

通过修改Tomcat安装路径中ROOT文件夹的位置即可解决首页不显示问题。
使用docker ps查询Tomcat在docker中的名称

根据名称进入安装目录,注意,romantic_pascal是Tomcat的容器名称。
docker exec -it romantic_pascal /bin/bash
执行后会自动进入到安装目录下,ls查看目录内容

进入webapps目录下,发现是空的,正常情况tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp或者index.html。
仔细观察会发现,安装路径下还有个文件夹,webapps.dist。进入后发现,需要的东西都在这里面。

把ROOT目录 移动到 webapps目录中,就可以了,具体操作就是在webapps.dist目录下执行命令:mv ROOT /usr/local/tomcat/webapps/ ,将ROOT文件夹移动位置。
刷新页面,就正常显示Tomcat首页了。

注意,如果是使用的xshell连接的linux,在启动容器后,ctrl+c,会导致容器停止运行。解决方法是在启动命令中添加 -d 参数,将容器后台运行。
docker run -d -p 8000:8080 tomcat

4.查询正在运行的docker容器
docker ps

5.停止某个容器
docker stop 容器编号
容器编号指docker ps命令结果中的第一个字段值(CONTAINER ID) 。
6.查询所有容器状态,包括停止的容器
docker ps -a
7.重启docker中的某个容器
docker restart 容器编号
8.删除某个容器
docker rm 容器编号
9.删除镜像
docker rmi 镜像ID
镜像ID可以通过docker images命令查询。