1、上dockerhub官网
2、在dockerhub上搜索tomcat镜像
3、点击进入页面然后点击Tags页,查看关于tomcat镜像的各种版本信息
除了到dockerhub的官网上搜索tomcat镜像外还可以在linux上使用命令来搜索tomcat镜像(不过我建议用上面的方式搜索镜像,因为关于镜像的信息会更加详细和明朗)
docker search tomcat
效果图:
4、下载tomcat镜像(因为没指定tomcat的版本,所以下载的是最新的tomcat镜像)
docker pull tomcat
效果图:
若想下载指定版本的,可以在镜像后加:版本号
例:
下载tomcat版本为8.5的镜像
docker pull tomcat:8.5
5、启动容器时给容器映射主机端口,方便外网对tomcat容器进行访问
- #选项及解释
- -d后台启动
- -p 2222:8080把主机的2222端口映射到docker的8080端口上(8080端口是tomcat的默认端口,当访问主机的2222端口时,会自动把2222映射到8080端口,从而访问tomcat)
-
- docker run -d -p 主机端口:容器端口 tomcat
例:
docker run -d -p 2222:8080 tomcat
若想开启多个tomcat容器,为区分多个tomcat容器也可以给多个tomcat容器命名
例:
- #选项及解释
- -d后台启动
- -p 2222:8080把主机的2222端口映射到docker的8080端口上(8080端口是tomcat的默认端口,当访问主机的2222端口时,会自动把2222映射到8080端口,从而访问tomcat)
- --name给容器命名
-
- docker run -d --name tomcat01 -p 2222:8080 tomcat
6、在主机上访问映射了tomcat容器的端口,看容器是否正常运行
curl localhost:2222
效果图:
证明tomcat容器运行成功,但显示404没找到网页
7、进入tomcat容器
输入以下命令进入tomcat容器
docker exec -it 容器id /bin/bash
操作过程截图:
8、进入webapps目录,查看当前目录下的文件
操作过程截图:
发现该目录下没有任何东西,所以上述的步骤6访问端口为2222的地址时,显示的是404找不到页面(tomcat启动时会去加载webapps目录下的应用程序,若webapps目录里没任何文件,自然加载不出页面,导致404)
9、把文件从webapps.dist目录里的全部文件拷贝到webapps目录里
cp -r webapps.dist/* webapps
例:
效果图:
10、退出容器,再次用curl命令访问主机的2222端口
curl localhost:2222
效果图:
11、外网访问主机2222端口(主机ip:端口号,若访问不了请检查安全组和防火墙是否开放了相应的端口,没开放安全组和防火墙的端口外网是访问不了主机指定端口的)
效果图:
其他:端口映射示意图
创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。