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怎么选择

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

写在最后

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Docker 搭建 Nginx 和 Tomcat 的步骤: 1. 安装 Docker,可参考官方文档进行安装。 2. 下载 Nginx 和 TomcatDocker 镜像,执行以下命令: ``` docker pull nginx docker pull tomcat ``` 3. 创建一个 Docker 网络,让 Nginx 和 Tomcat 可以相互通信,执行以下命令: ``` docker network create mynetwork ``` 4. 创建一个 Nginx 容器,执行以下命令: ``` docker run --name nginx -d -p 80:80 --network mynetwork nginx ``` `--name` 指定容器名称为 nginx,`-d` 后台运行,`-p` 将容器的80端口映射到主机的80端口,`--network` 指定容器所在的网络为 mynetwork。 5. 创建一个 Tomcat 容器,执行以下命令: ``` docker run --name tomcat -d -p 8080:8080 --network mynetwork tomcat ``` `--name` 指定容器名称为 tomcat,`-d` 后台运行,`-p` 将容器的8080端口映射到主机的8080端口,`--network` 指定容器所在的网络为 mynetwork。 6. 配置 Nginx,将请求转发给 Tomcat,执行以下命令: ``` docker exec -it nginx bash echo "server { listen 80; location / { proxy_pass http://tomcat:8080/; } }" > /etc/nginx/conf.d/default.conf nginx -s reload exit ``` `docker exec -it` 进入 nginx 容器,`echo` 命令将配置写入 Nginx 的默认配置文件,`nginx -s reload` 重新加载配置文件使其生效。 7. 访问 http://localhost 可以看到 Nginx 的欢迎页面,访问 http://localhost:8080 可以看到 Tomcat 的欢迎页面。 至此,Nginx 和 TomcatDocker 集成环境搭建完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值