为了账号安全,请及时绑定邮箱和手机立即绑定

Docker学习(四)Docker搭建Tomcat

标签:
Docker

此处输入图片的描述

前言

涉及到的命令,可以参考上一篇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怎么选择

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

写在最后

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

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消