1、上dockerhub官网

https://hub.docker.com/

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:端口号,若访问不了请检查安全组和防火墙是否开放了相应的端口,没开放安全组和防火墙的端口外网是访问不了主机指定端口的)

效果图:

其他:端口映射示意图

创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐