前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >认识Docker

认识Docker

作者头像
人不走空
发布2024-02-20 19:48:25
1460
发布2024-02-20 19:48:25
举报
文章被收录于专栏:学习与分享

Docker 是世界领先的软件容器平台,所以想要搞懂 Docker 的概念我们必须先从容器开始说起。

1.1 什么是容器? 先来看看容器较为官方

一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。

容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 容器化软件适用于基于 Linux 和 Windows 的应用,在任何环境中都能够始终如一地运行。 容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。 #再来看看容器较为通俗的解释 如果需要通俗地描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

d3ac357f7fc8449a98dbcd689cd3ecad.png
d3ac357f7fc8449a98dbcd689cd3ecad.png
1.2 图解物理机,虚拟机与容器

关于虚拟机与容器的对比在后面会详细介绍到,这里只是通过网上的图片加深大家对于物理机、虚拟机与容器这三者的理解(下面的图片来源于网络)。

物理机:

9161208b4fb3410ca7822251b8e14486.png
9161208b4fb3410ca7822251b8e14486.png

虚拟机:

55d5e172b5a349dda804d7b98ebbba6f.png
55d5e172b5a349dda804d7b98ebbba6f.png

容器:

066ada98d4a142138edb846b814dccc3.png
066ada98d4a142138edb846b814dccc3.png

通过上面这三张抽象图,我们可以大概通过类比概括出:容器虚拟化的是操作系统而不是硬件,容器之间是共享同一套操作系统资源的。虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。因此容器的隔离级别会稍低一些。

什么是 Docker?

Docker 是一种开源的应用容器引擎,它可以让开发者将应用程序以及所有依赖项打包到一个可移植的容器中,然后发布到任何运行 Docker 的机器上。Docker 使用容器来隔离应用程序及其依赖项,实现了真正的资源隔离,使得应用程序在容器内运行时与主机系统完全隔离。

Docker的思想来自于集装箱,一个以容器的形式将应用程序及其所有依赖项打包在一起的平台。它使用容器使应用程序的创建、部署和运行变得更加容易。Docker在容器内绑定应用程序及其依赖项。容器允许开发人员将应用程序及其所需的所有部分(例如库和其他依赖项)打包在一起,然后将其作为一个包发送出去。

Docker 容器具有以下特点:

  1. 轻量级:容器与主机共享同一个操作系统,无需启动额外的操作系统,因此容器比虚拟机更加轻量级,启动速度更快。
  2. 可移植性:容器可以在任何运行 Docker 的机器上运行,无论是 Linux 还是 Windows,无论是服务器还是桌面环境。
  3. 隔离性:每个容器都有自己的文件系统、进程、网络等,相互之间完全隔离,保证了应用程序之间的互不影响。
  4. 可扩展性:容器可以很方便地进行扩展,只需简单地启动多个容器实例即可。
  5. 快速部署:由于容器包含了应用程序及其所有依赖项,因此可以快速部署到目标环境中。

使用 Docker 有以下原因:

  1. 简化部署:Docker 容器使得应用程序的部署变得更加简单,无需考虑不同环境之间的差异,只需将容器部署到目标环境即可。
  2. 提高资源利用率:Docker 容器共享宿主操作系统的内核,因此可以充分利用系统资源,提高资源利用率。
  3. 便于持续交付和部署:使用 Docker 可以快速构建和测试环境,并且可以在任何地方将其部署到任何环境中,实现快速部署和持续交付。
  4. 跨平台性:由于 Docker 容器内包含了应用程序及其所有依赖项,因此可以在不同的操作系统和平台上运行,实现了真正的跨平台性。
  5. 可扩展性:Docker 容器可以很方便地进行扩展,只需简单地启动多个容器实例即可,使得应用程序能够轻松地应对高并发和高流量的访问。
  6. 便于容器化管理:使用 Docker 可以很方便地进行容器化管理,例如启动、停止、重启、删除等操作都可以通过简单的命令实现。
  7. 便于监控和管理:使用 Docker 可以很方便地对容器进行监控和管理,例如查看容器的资源使用情况、日志等。

Docker 的基本概念包括以下几个:

  1. Docker 镜像(Image):Docker 镜像是用于创建 Docker 容器的模板,包含了运行应用程序所需的所有文件和依赖项。
  2. Docker 容器(Container):Docker 容器是运行应用程序的实际环境,由 Docker 镜像创建而来。每个容器都是相互隔离的运行环境。
  3. Docker 仓库(Repository):Docker 仓库是用于存储和管理 Docker 镜像的地方。可以将 Docker 镜像上传到公共仓库或者私有仓库中进行管理和分发。
  4. Dockerfile:Dockerfile 是用于定义 Docker 镜像构建过程的文本文件。它包含了用于构建 Docker 镜像的所有指令和配置信息。
  5. Docker Host:Docker Host 是运行 Docker 容器的机器环境,可以是物理机或者虚拟机。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.2 图解物理机,虚拟机与容器
  • 什么是 Docker?
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档