当前位置: 首页 > news >正文

Docker-基本了解

Docker-基本了解

  • 一、基本概念
    • 1、镜像
    • 2、容器
  • 二、执行流程
  • 三、体系结构

一、基本概念

Docker是容器化平台,提供应用打包,部署与运行应用的容器化平台,应用程序通过docker engine(Docker 引擎获取可用资源),Docker引擎 和java虚拟机非常像。

1、镜像

镜像是只读文件,提供了运行程序完整的软硬件资源,是应用程序的集装箱。

ps: 相当于自己应用程序的安装文件

2、容器

容器是镜像的实例,为动态资源,由Docker负责创建,并统一管理,容器之间彼此隔离,单独管理,资源不冲突

ps : 运行镜像的环境:wins10可视为容器,2台电脑都安装此操作系统,其中1台有问题,不会影响另一台电脑的使用;他们都有自己独立运行的容器和资源。

二、执行流程

客户端向服务端(服务端包含三部分:docker daemon守护进程,管理的镜像以及对应的容器)发送命令,最后是注册中心,也称为远程仓库,中央仓库,存储大量镜像供下载

执行命令过程 eg:
docker pull 过程:比如从客户端发起pull redis镜像,请求到docker daemon,首先会在本地的images查看是否有redis镜像,如果没有,从远程仓库把官方提供的redis镜像拉取回来,下载到本地,由此docker pull 完成,本身负责从远程仓库下载镜像到docker本地镜像,docker的镜像相当于安装文件,如果想要运行,需要执行docker run(代表创建容器并启动服务)命令

docker run redis 过程:还是请求从客户端发起到docker daemon,先检索本地镜像库,存在则启动并维护容器,如果一个redis容器不够,可以在客户端执行docker run redis ,会再次创建redis容器,两个redis是独立的容器,独立的系统和独立的硬件资源,是互不干扰的,任何一个停掉,不会对其他有影响。如下图:
在这里插入图片描述

三、体系结构

Docker引擎包含三部分:
1、最内层:Docker daemon (docker服务器),也称为守护进程;
server部分为docker的核心处理部分,eg:获取镜像,创建容器,主要服务的是提供方
2、外侧有一个基于rest api的通信层, 相当于小的tomcat。基于web容器传输服务的,和客户端传输的也是标准的http请求与相应,
3、最外层的docker cli 作为docker的客户端。
docker pull 里,docker就是client提供的可执行文件
在这里插入图片描述
基于cs架构应用的好处:服务器和客户端可以不用安排到一个电脑上
比如:所以一个运维工程师可以通过网络管理很多台服务器,极大提高程序管理,运维的效率

http://www.lryc.cn/news/178572.html

相关文章:

  • Leetcode383. 赎金信
  • overleaf杂谈-Springer文献格式问题
  • No148.精选前端面试题,享受每天的挑战和学习
  • BASH shell脚本篇4——函数
  • VisualStudio配置OpenCV环境
  • C++手写NMS
  • 第9讲:VUE中监听器WATCH使用详解
  • 微信小程序开发基础(一)认识小程序
  • LeetCode 1049. 最后一块石头的重量 II
  • Golang中的类型转换介绍
  • 本人碰到的RN项目的坑
  • EcmaScript标准-导入与导出-js
  • 如何将matlab中的mat矩阵文件在python中读取出来
  • 解释C语言中 6.18f (浮点数常量后缀)
  • Pandas 2.1中的新改进和新功能
  • c#static(静态)关键字
  • GitHub配置SSH key
  • 文件审计及文件完整性监控
  • 华为智能企业远程办公安全解决方案(1)
  • k8s中常用命令总结
  • Logistic map混沌掩盖信号
  • 外包干了2个月,技术有明显退步...
  • 顺序表和链表
  • k8s--架构基础--云控制器管理器
  • OpenAI 更新 ChatGPT:支持图片和语音输入【附点评】
  • 数据结构:堆的简单介绍
  • 【LeetCode-中等题】654.最大二叉树
  • 基于微信小程序的刷题考试系统设计与实现(适用于各类考试类、答题类程序)
  • 用Java打印长方形、平行四边形 、三角形、菱形、空心菱形
  • es6模块化,怎么判断当前文件使用的是es6的模块化还是commenjs的模块化