本文分享自天翼云开发者社区《容器的优势,在Docker中运行Tomcat》,作者:d****e

一、容器与虚拟机的区别是什么

虚拟机:虚拟机是通过Hypervisor(虚拟机管理系统,常见的有VMWare workstation、VirtualBox),虚拟出网卡、cpu、内存等虚拟硬件,再在其上建立虚拟机,每个虚拟机是个独立的操作系统,拥有自己的系统内核。

容器:容器是利用namespace将文件系统、进程、网络、设备等资源进行隔离,利用cgroup对权限、cpu资源进行限制,最终让容器之间互不影响,容器无法影响宿主机。

二、Docker的优势

运行在容器上的docker的程序,直接使用的都是宿主机的硬件资源,因此在cpu、内存、利用率上,Docker将会在效率上具有更大的优势。

Docker直接利用宿主机的系统内核,避免了虚拟机启动时所需要的系统引导时间和操作系统运行的资源消耗,利用Docker能够在几秒钟之内启动大量的容器,是虚拟机无法办到的。快速启动低资源消耗的优点,使Docker在弹性云平台自动运维系统方面具有很好的应用场景。

容器的启动时间是秒级的,大量节约开发、测试、部署的时间。还有一个非常关键的点,就是Docker能够高效地部署和扩容,Docker容器几乎可以在任意平台上运行,包括虚拟机、物理机、公有云、私有云、个人电脑、服务器等,这种兼容性,可以让用户把一个应用程序从一个平台直接迁移到另外一个平台。

但是,虚拟机的安全性比容器好一些,docker与宿主机共享内核、文件系统等资源,更有可能对其他容器、宿主机造成影响。

三、Docker下运行Tomcat

3.1 我们还可以通过 docker search tomcat 命令来查看可用的Tomcat版本:

3.2 选择官方的镜像拉取:

3.3 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像。

3.4 运行容器

3.5 查看容器启动情况

3.6通过浏览器可以访问,说明启动成功

至此,Docker中运行tomcat结束

容器的优势,在Docker中运行Tomcat的更多相关文章

  1. Docker实现运行tomcat并部署项目war包,并实现挂载目录

    之前写的有点乱,现在再来整理一下docker的简单部署运行 借鉴博客:https://blog.csdn.net/qq_32351227/article/details/78673591 一.dock ...

  2. 如果在docker中部署tomcat,并且部署java应用程序

    1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...

  3. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  4. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  5. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  6. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  7. 在Docker中运行EOS(MAC版)

    在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...

  8. 在Docker中运行纸壳CMS并配置使用MySql

    纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...

  9. 在docker中运行elasticsearch时go程序无法连接到节点

    错误信息: panic: no active connection found: no Elasticsearch node available 在docker中运行es时,默认启动sniffing  ...

  10. Docker中运行MySQL5.7并挂载宿主机目录到镜像

    原文:Docker中运行MySQL5.7并挂载宿主机目录到镜像 1.1 拉取mysql镜像 docker pull mysql:5.7 1.2 创建用于挂载的目录 mkdir -p /data/mys ...

随机推荐

  1. JVM的参数说明

    Java虚拟机的参数说明 Java运行时数据区域: 线程共享区:方法区(永久区),堆 线程私有区:虚拟机栈,本地方法栈,程序计数器 JAVA_OPTS="-server -Duser.tim ...

  2. 根据多选下拉框选中的结果,循环输出选中的标签<el-cascader>;对象数组由二维变成一维

    下面的图是要实现的交互图,根据<el-cascader>中v-model绑定的数据,再去下拉框出书数据中进行比对输出 v-model绑定的数据是一个二维数组,是这样的一组数据 [[1,12 ...

  3. 调度系统之Airflow

    一.Airflow简介 Airflow 是一个使用 Python 语言编写的 Data Pipeline 调度和监控工作流的平台. Airflow 是通过 DAG(Directed acyclic g ...

  4. canvas(四)绘制曲线

    1.绘制圆弧轨迹 相关语法:ctx.arc(x,y,r,startRadian,endRadian,direction),前5个参数必填: 参数 说明 x 圆心x轴坐标 y 圆心y轴坐标 r 半径大小 ...

  5. windows版 nvm 1.1.7 安装(填坑)

    参考https://www.jianshu.com/p/cbf4f76ba0bb安装,注意事项: 1. 最好下载Setup安装版本,带安装界面,这样可以填写安装路径以及Nodejs路径,省去了改文件的 ...

  6. RPM 与 YUM

    RPM 与 YUM rpm 包的管理 rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中.它生成具有.RPM 扩展名的文件.RPM是 RedHat Package Manag ...

  7. Docker安装最新版MySQL

    下载docker dnf -y install docker 下载mysql镜像 docker pull mysql 运行Mysql mkdir -p /home/mysql/data docker ...

  8. axios 取消请求 (2023-10-10更新)

    axios 文档 配置局部取消请求 这种相当于局部的取消请求,作用于单个请求中 import axios from 'axios' const source = axios.cancelToken.s ...

  9. tailscale安装教程

    tailscale安装失败可能是由于以下原因之一导致的: 系统兼容性问题:tailscale可能不支持你的操作系统版本或架构.请确保你的系统满足官方的最低要求,并尝试使用官方提供的正确版本进行安装. ...

  10. IPV6禁用导致 RabbitMQ 无法启动的问题

    问题现象 在开发的过程中遇到了 RabbitMQ 怎么也启动不起来的现象.查看 RabbitMQ 自身的启动日志,并没有发现有什么有用的报错信息,只是从某天开始就一直在打印重启的日志,尝试多次重启也不 ...