容器的优势,在 Docker 中运行 Tomcat
本文分享自天翼云开发者社区《容器的优势,在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 版本:
![](https://static001.geekbang.org/infoq/bb/bbf9e7380dc29a378ab7dd5da914ee82.png)
3.2 选择官方的镜像拉取:
![](https://static001.geekbang.org/infoq/f3/f3b7cba713ab2b8d80b0bc207a42fade.png)
3.3 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像。
![](https://static001.geekbang.org/infoq/47/47d3ed7ee36c27cc07db0a6c5911f3a8.png)
3.4 运行容器
![](https://static001.geekbang.org/infoq/f0/f0075693cc86414974a371849c4813b9.png)
3.5 查看容器启动情况
![](https://static001.geekbang.org/infoq/45/45a04557cdefb3da708e113c88176674.png)
3.6 通过浏览器可以访问,说明启动成功
![](https://static001.geekbang.org/infoq/de/de8d65aba7b8aa90784057d15e5ac6f0.png)
至此,Docker 中运行 tomcat 结束
评论