【目录导览】
1.Docker入门:什么是Docker?如何安装Docker?2.Docker入门:Docker命令3.Docker实战:Docker部署Nginx4.Docker实战:Docker部署Tomcat5.Docker实战:Docker部署MySQL6.Docker镜像:什么是Docker镜像?Docker镜像加载原理?7.Docker容器:什么是Docker容器?8.Docker数据卷:数据交互、数据卷、数据卷容器9.Docker镜像制作:Commit和DockerFile10.Docker入门学习回顾小结11.Docker网络:基础原理&示例12.Docker网络:容器互联之–link13.Docker网络:容器互联之自定义网络14.Docker网络:容器互联之不同网络间的容器互联

1.部署

可以复制下面内容,以脚本的方式执行,也可以复制一条执行一条

#! /bin/bash

# 搜索nginx镜像,看是否存在(这一步可以不做,一般都会存在)
docker search tomcat

# 官方推荐部署方式
# docker run -it --rm tomcat:9.0
# 指令解释:下载并运行9.0版本的tomcat,以交互的方式运行,并且在容器运行结束后清除该容器(镜像不会删除)
# 我们不推荐使用这种方式,一般都是需要该容器运行结束后处于关闭或者暂停状态,而不是直接清除

# 按照我们的方式部署
# 下载tomcat镜像
docker pull tomcat

# 以后台的方式启动tomcat,起名为tomcat-1,设置公网访问为3355,设置启动占用端口为8080
docker run -d --name tomcat-1 -p 3355:8080 tomcat 
# 启动完成后,别人就可以通过访问3355端口访问到nginx-1的服务

2.访问

本地部署的话,就访问localhost:3355
云服务器部署的话,就访问公网ip:3355
部署完成后会看到下图所示情况

docker部署gradio docker部署tomcat_Docker

原因是因为阿里云镜像提供的tomcat镜像,默认是最小镜像,所有不必要的内容都被删除了
我们只需要按照以下提示进行操作,即可正常访问
# 1.进入容器
docker exec -it tomcat-1 /bin/bash

# 2.查看tomcat的webapps目录下的内容
ls -l webapps
total 0
# 发现为空,即最小化安装,剔除了一些不必要的内容

# 3.将webapps.dist里的内容全量复制到webapps中
cp -r webapps.dist/* webapps/

# 4.刷新浏览器,重新访问,即可看到如下图示效果

docker部署gradio docker部署tomcat_tomcat_02

如果在云服务器上使用Docker部署Tomcat的话,可能会出现一个问题:部署完成后,使用ip:3355无法访问Tomcat服务。这是因为你的云服务器没有开放3355端口,自行搜索如何开启。