Docker学习笔记(一)

概述

docker平台:docker提供了在松散隔离的环境中打包和运行运用程序的功能  ->> 隔离和安全性可使用户在给定的主机上同时运行多个容器。

      容器是轻量级的,因为他们不需要虚拟机管理程序的额外负载,而是直接在主机中的内核中运行 ->> 这意味着与使用虚拟机相比,可以在给定的硬件组合上使用更多的容器。

Docker引擎

Docker Engine是具有以下主要组件的客户端-服务器应用程序:

  • 服务器是一种长期运行的程序,称为守护程序进程
  • REST API,它指定程序可以用来与守护程序进行通信并指示其进行操作的接口
  • 命令行界面(CLI)客户端(Docker命令)

CLI使用Docker REST API 通过脚本或直接CLI命令来控制Docker守护程序进行交互,许多其他Docker应用程序都使用基础API和CLI.

守护程序创建和管理Docker对象,例如图像,容器,网络,卷

Docker的用途

快速,一致地交付用户的应用程序

容器非常适合持续集成和持续交付(CI/CO)工作流程:

  • 开发人员在本地编写代码,并使用docker与其他同事共享工作。
  • 开发使用Docker将其应用程序推送到测试环境中,并执行自动和手动测试
  • 开发人员修复bug时,可在开发环境中对其进行修复,然后将其重新部署到测试环境中进行测试和验证
  • 测试完成后将修补的程序推送到生产环境

响应式部署和扩展

Docker基于容器的平台具有高度的可移植的工作负载,可在本地电脑,虚拟机,云平台或混合环境中运行。

Docker的可移植性和轻量级特性可使用户更轻松动态管理负载,并实时需求扩展和删除应用程序和服务。

Docker非常适用于高密度环境以及中小型部署,可利用更少的资源做更多的事。

Docker架构

Docker使用CS架构。docker客户端与docker守护进程进行对话,该守护进程完成了构建。运行。分发Docker容器的繁重工作。

Docker客户端和docker守护程序可以在同一系统中运行,客户端也可连接远程守护程序。

Docker客户端和docker守护程序在UNIX套接字和网络接口上使用REST API进行通信。

 

Docker守护程序

Docker守护程序侦听Docker API并管理Docker对象,守护程序也可以通信其他守护程序以管理docker服务。

Docker客户端

Docker客户端是docker用户与docker进行交互的主要方式。docker 命令使用docker API,Docker客户端可以与多个守护程序进行通信。

Docker注册表

Docker注册表存储Docker映像。Docker Hub是任何人都可以使用的注册表,并且默认情况下,Docker已配置为在Docker Hub上查找映像。

可运行自己的私人注册表,如果使用Docker数据中心(DDC),则其中包括Docker可信注册表(DTR)

以下内容还未吃透。。。。。

Docker对象

使用Docker时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。

图片

一个图像是用于创建一个码头工人容器指令的只读模板。通常,一个映像基于另一个映像,并进行一些其他自定义。例如,您可以基于该ubuntu映像构建映像,但是安装Apache Web服务器和您的应用程序,以及运行该程序需要的配置信息。

你可以自己创建图像,也可以仅使用其他人创建并在注册表中发布图像。Dockerfile中的每个指令都会在映像中创建一层,当你更改Dockerfile并重建映像时,仅重建那些已更改的层。

货柜

容器是图像的可运行实例。你可以使用Docker API或CLI创建,启动、停止、移动或删除程序。你可以将容器链接到一个或多个网络,将存储连接到它,甚至根据当前状态创建新映像

 

 

底层技术

Docker用go编写,并利用Linux内核的多个功能来交付期功能。

命令空间

Docker使用一种称为namespaces提供容器的隔离工作区技术,运用容器时,Docker会为该空间创建一组命名空间。这些名称空间提供了一层隔离。容器的每个方面都在单独的名称空间中运行,并且对其的访问仅限于该名称空间。

posted @ 2019-12-31 15:32  倔强的绿萝  阅读(99)  评论(0)    收藏  举报