Docker入门实践(一) 理解Docker

本文已迁移到我的新博客地址,欢迎访问:

blog.favorstack.io


Docker 如今正处于高速发展时期,许多公司都已用于生产实践。本系列文章是个人在学习docker过程中整理的笔记,希望对大家有所帮助。

快速了解

(一) Docker 是什么

官方给出的定义是:Docker是一个集开发,打包,运行应用于一体的开放式平台。Docker可以用来快速交付应用。使用Docker,你可以将应用程序从你的基础设施中分离出来,并将基础设施当做一个管理平台。Docker可以加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期。Docker通过结合内核容器化特点和工作流,并使之工具化来实现这一切,帮助管理和发布你的应用。

(二) Docker平台

Docker的生态环境正逐渐壮大起来,Docker的核心,提供了一种运行大部分应用程序的方式,并安全地隔离在容器中。隔离性和安全性允许你在主机上同时运行多个容器。容器天生的轻量级特性,使其在运行时无需加载额外的虚拟机管理器,这意味着你可以从硬件中获得更多东西。
容器周边是一个工具化的平台,可以从以下几个方面帮助你:

  • 将你的应用(或支持的组件)置于Docker容器中
  • 分发和打包这些容器,以便将来用于开发和测试
  • 将这些应用部署至生产环境,无论是数据中心还是公有云环境。

(三) Docker 引擎

Docker Engine是一个C/S架构的应用程序,主要有以下组件:

  • 服务端守护进程
  • REST API接口,程序用来与守护进程进行交互
  • CLI(command line interface)命令行接口客户端

Docker入门实践(一) 理解Docker_第1张图片

注:Docker 引擎 组成(图片来源于docs.docker.com)

CLI使用脚本或直接使用CLI命令,利用Docker的REST API来控制Docker守护进程或与之进行交互。其他许多Docker应用程序使用底层API和CLI。
守护进程创建并管理Docker对象,Docker对象包括镜像,容器,网络,数据卷等等。

(四) Docker可以干什么

  • 快速交付应用
  • 便捷的部署和调整
  • 高密集度,高负载

(五) Docker 重要概念

镜像(images)

Docker镜像是一个只读的模板。包含了容器运行时所需要的文件系统和一些参数。镜像是无状态的,也不会改变。镜像是用来创建容器的。你可以使用docker pull命令获取一个别人已创建好的镜像,或者使用dockerbuild来构建一个自己的镜像。

容器(containers)

Docker容器就像是一个文件夹,容器中包含了应用运行所需的一切。每个容器都是一个隔离的和安全的应用平台。容器是镜像的一个实例,它是有状态的,而且随时会改变,容器一般是短暂的。

启动一个容器的过程如下:

  • 检查指定的镜像是否存在
  • 如果不存在,则去Docker Hub下载
  • 加载镜像并运行

Docker注册中心(Docker Registries):

Docker注册中心是托管Docker镜像的地方,有公共的和私有的,你可以往这些注册中心上传或下载镜像。
Docker Hub是Docker官方的公共镜像仓库,这里汇集了非常多的常用镜像,我们可以直接从这里下载使用,也可以自己制作自己的镜像,并分享给别人。

(完)


本文已迁移到我的新博客地址,欢迎访问:

blog.favorstack.io


你可能感兴趣的:(Docker)