• Docker学习(四)Docker搭建Tomcat


    此处输入图片的描述

    前言

    涉及到的命令,可以参考上一篇Docker学习(三)认识Docker和常用命令

    可以参考docker官方网站

    业务场景

    公司采购了一台新的硬件服务器,领导说,BK这台服务器用tomcat搭建一台web服务器吧,这个任务看起来简单,但是很繁琐

    • 安装linux系统
    • 下载jdk,tomcat,
    • 安装jdk,配环境变量
    • 安装tomcat

    即使对于一个老司机,也要花挺长时间,但是使用docker可以很大的简化这个过程

    查看可用镜像

    在docker官网搜索tomcat组件,在每个tag中可以看到具体使用的JDK版本和Tomcat版本
    tocmat可用版本

    此处输入图片的描述

    搭建tomcat

    • 下载tomcat镜像
      docker pull tomcat:latest

    此处输入图片的描述

    • 查看本地镜像
      docker images

    此处输入图片的描述

    启动tomcat

    docker run -p 8888:8080 -d tomcat
    -d 是后台运行
    -it 是interaction 交互命令
    -p 8000:8080 进行端口绑定, 8000宿主机端口,8080是容器中tomcat默认的端口

    此处输入图片的描述

    docker ps
    docker exec -it 257dcfd4ea5e /bin/bash 进入tomcat docker容器内部

    此处输入图片的描述

    停止tomcat

    • 查看运行的docker容器
      docker ps
    • 方法一
      docker stop 容器编号
      docker rm 容器编号
    • 方法二
      docker rm -f 容器编号

    开发测试时候可以使用, 线上环境不建议,避免出现意料之外的问题

    移除镜像

    • docker images
    • docker rmi image:tags 如果有当前镜像创建的容器,需要先移除容器
      docker rmi -f image:tag 强制移除镜像,生产环境不建议使用

    此处输入图片的描述

    附录

    tomcat为什么要进行端口绑定

    因为tomcat启动之后,默认的端口是8080,是容器对外暴露的端口客户端访问是访问宿主机的ip和端口,无法直接访问容器暴露的端口,所以需要将宿主机的端口与容器暴露的端口进行绑定,才可以从浏览器访问
    

    此处输入图片的描述

    -p 8000:8080 端口映射之后
    

    此处输入图片的描述

    这种端口绑定的方式,提供了一种好处,
    只要客户端知道宿主机和端口,内部的容器可以随便更换,比如说现在的tomcat性能跟不上,我们可以更换成jetty,只要保证外侧的端口映射8000不变,就可以无缝迁移

    端口映射之后可以通过命令netstat -tulpn查看到,后台启了一个docker-proxy进行请求转发
    此处输入图片的描述

    拉取镜像时,不写版本默认是什么版本

    在拉取镜像时不写版本号,默认是latestlatest的定义实际上不是最新的,而是使用最多的版本

    tag怎么选择

    • [x] 镜像名称和组件名一样的是官方提供 ,右侧有它的starts 表明发前版本的热度
    • [x] 如果前面有/,则是第三方发布的, 除非你对这个项目特别了解,否则最好不要使用,因为我们不确定里面是否有恶意代码

    写在最后

    使用 docker搭建环境很方便,对于运维工作的效率有很大的提升,安装redis , nginx ,mysql 方法都类似,相关学习可以到docker官网搜索相关组件,在组件详情页中都有相关的命令跟着,官网命令可以一步一步的学习

    相关文章会首发公众号,可以关注公号albk,关注后可以获取大量学习视频

    期望热爱技术的你一起来交流,获取最新资料和学习资源,可以关注公众号albk, 个人博客 !

  • 相关阅读:
    del命令
    echo命令
    什么是批处理
    ubuntu禁止ping操作(禁用ICMP协议访问)
    树莓派:raspberry pi 3b
    小tips合集
    吐个槽:bose的售后真心差劲!愧对这个顶级音响产品!
    WinSetupFromUSB
    win7 64位下vs不能以管理员身份运行的问题解决
    vs2010中如何设置Visual Assist方便地使用现成的代码编辑器风格
  • 原文地址:https://www.cnblogs.com/albk/p/12219897.html
Copyright © 2020-2023  润新知