• Docker下载Tomcat镜像并运行Tomcat容器


     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容器进行访问

    1. #选项及解释
    2. -d后台启动
    3. -p 2222:8080把主机的2222端口映射到docker的8080端口上(8080端口是tomcat的默认端口,当访问主机的2222端口时,会自动把2222映射到8080端口,从而访问tomcat)
    4. docker run -d -p 主机端口:容器端口 tomcat

     例:

    docker run -d -p 2222:8080 tomcat

    若想开启多个tomcat容器,为区分多个tomcat容器也可以给多个tomcat容器命名

    例:

    1. #选项及解释
    2. -d后台启动
    3. -p 2222:8080把主机的2222端口映射到docker的8080端口上(8080端口是tomcat的默认端口,当访问主机的2222端口时,会自动把2222映射到8080端口,从而访问tomcat)
    4. --name给容器命名
    5. 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:端口号,若访问不了请检查安全组和防火墙是否开放了相应的端口,没开放安全组和防火墙的端口外网是访问不了主机指定端口的)

    效果图:

    其他:端口映射示意图

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

  • 相关阅读:
    我对《RAG/大模型/非结构化数据知识库类产品》技术架构的思考、杂谈
    链家网房源价格信息的爬虫分析工具
    宿主机和容器内的网络
    CodeTON Round 3 (Div. 1 + Div. 2, Rated, Prizes!) A-D
    Shiro授权以及注解开发
    flink 1.14 编译
    JavaScript变量及数据类型
    应该如何进行程序化交易系统的检验?
    React中useRef()方法
    ROS系统02——matlab读取ros话题消息代码
  • 原文地址:https://blog.csdn.net/m0_64284147/article/details/126450926