Docker Docker 基础知识介绍

打工人 · 2021年10月31日 · 1734 次阅读

Docker 介绍

docker 是一个开源容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

docker 本身并不是容器,它是创建容器的工具,是应用容器引擎。docker 有两句经典的口号:
第一句口号是:Build,Ship and Run ,搭建、发送、运行
第二句就是:Build once,Run anywhere,构建一次,到处使用

Docker 引擎

docker 引擎是一个 C/S 结构的应用,如图

  • server 是一个常驻进程
  • REST API 实现了 client 和 server 间的交互协议
  • CLI 实现容器和镜像的管理,为用户提供统一的操作界面

核心概念

  • 镜像(Image):运行环境 + 配置,搞定了环境依赖问题。通过运行镜像启动容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容:代码、依赖库、环境变量、配置文件等
  • 容器(Container):容器类似于一个轻量级的沙箱,docker 利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例。可以将其启动、停止、删除,而这些容器都是彼此相互隔离的、互不可见的
  • 仓库(Respository):仓库是集中存放镜像文件的场所,docker 仓库可以分为公共仓库和私有仓库,目前最大的公共仓库就是官方提供的 Docker Hub

镜像与容器的关系就相当于 类和对象的关系,镜像提供的是一个个的模板,容器是通过模板来生成的应用

容器与虚拟机区别

虚拟机(virtual machine)运行一个完整的客户操作系统,通过虚拟机管理程序虚拟访问主机资源,一般来说,虚拟机提供的环境比大多数应用程序需要的资源多
docker 容器就是独立运行的一个或一组应用,以及它必须的运行环境,共享主机和其他容器的内核,不占用任何其他可执行文件的内容,使其轻量化

虚拟机属于分钟级启动,且占用资源多,虚拟机文件以 G 为单位
容器属于秒级启动,占用资源少,小则几 kb,大则几 mb

Docker 命令

Docker 应用场景

  • 简化配置:开发人员可以将运行环境和配置放在代码中然后部署,同一个 Docker 的配置可以在不同的环境中运行 -环境一致性:保证测试环境与开发环境一致性,减少环境带来的时间成本
  • 隔离应用:在一台宿主机上可运行多个应用,应用之间隔离,互不影响
  • 快速部署:秒级部署,快速上线
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册