初识Docker-Docker架构
像和容器
Docker中有几个重要的概念:
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
一切应用最终都是代码组成,都是硬盘中的一个个的字节形成的文件。只有运行时,才会加载到内存,形成进程。
而镜像,就是把一个应用在硬盘上的文件、及其运行环境、部分系统函数库文件一起打包形成的文件包。这个文件包是只读的。
容器呢,就是将这些文件中编写的程序、函数加载到内存中允许,形成进程,只不过要隔离起来。因此一个镜像可以启动多次,形成多个容器进程。
例如你下载了一个QQ,如果我们将QQ在磁盘上的运行文件及其运行的操作系统依赖打包,形成QQ镜像。然后你可以启动多次,双开、甚至三开QQ,跟多个妹子聊天。
DockerHub
开源应用程序非常多,打包这些应用往往是重复的劳动。为了避免这些重复劳动,人们就会将自己打包的应用镜像,例如Redis、MySQL镜像放到网络上,共享使用,就像GitHub的代码共享一样。
DockerHub:DockerHub是一个官方的Docker镜像的托管平台。这样的平台称为Docker Registry。
国内也有类似于DockerHub 的公开服务,比如 网易云镜像服务、阿里云镜像库等。
我们一方面可以将自己的镜像共享到DockerHub,另一方面也可以从DockerHub拉取镜像:
Docker架构
我们要使用Docker来操作镜像、容器,就必须要安装Docker。
Docker是一个CS架构的程序,由两部分组成:
服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等
客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。
如图:
小结
镜像:
将应用程序及其依赖、环境、配置打包在一起
容器:
镜像运行起来就是容器,一个镜像可以运行多个容器
Docker结构:
服务端:接收命令或远程请求,操作镜像或容器
客户端:发送命令或者请求到Docker服务端
DockerHub:
一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry
初识Docker-Docker架构相关推荐
- 【原创视频】Docker总体架构设计及各模块原理剖析
Docker总体架构设计及各模块原理剖析
- Docker:架构分解
Docker内部构建 要理解Docker内部构建,需要理解以下三种部件: Docker镜像(Image) Docker容器(Container) Docker仓库(repository) 基本上理解了 ...
- 【云原生】第二篇--容器管理工具 Docker生态架构及部署
容器管理工具 Docker生态架构及部署 一.Docker生态架构 1.1 Docker Containers Are Everywhere 1.2 生态架构 1.2.1 Docker Host 1. ...
- Docker的架构与自制镜像的发布
一. Docker Docker与自动化测试 docker 是基于 Go 语言的开源的应用容器引擎,并遵从Apache2.0协议,docker 让 ...
- docker containerd 架构和源码简单分析
docker containerd 架构和源码简单分析 本文结合docker1.12简单说明一下docker 的现有框架,简单分析docker containerd的架构和源码. docker发展到现 ...
- 什么是docker和docker的架构
什么是docker和docker的架构 一.什么是docker https://www.runoob.com/docker/docker-container-usage.html Docker 是一个 ...
- Docker网络架构三剑客CNM,Libnetwork和Driver
Docker网络架构主要由三部分组成:CNM,Libnetwork和Driver. 1.CNM CNM(Container Network Model)是一种网络模型,用于定义容器的网络架构和实现容器 ...
- Docker的架构设计
前面我们研究了Docker容器的本质是一个特殊的进程,那么这个特殊进程是如何创建.如何终止的那?也就是说是谁来管理这个容器进程的生命周期的那? 在mac操作系统中我们可以通过活动监视器来观察操作系统里 ...
- 第133天学习打卡(Docker 初识Docker Docker的基本组成 安装docker 阿里云镜像加速 Docker常用命令)
Docker学习 Docker概述 官方地址:Empowering App Development for Developers | Docker Docker的思想来自于集装箱! 隔离:Docker ...
- docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境
[Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...
最新文章
- 模型类序列化器ModelSerializer
- hashmap 存的是对象的引用地址_Java互联网架构-面试虐我千百遍HashMap源码真讨厌...
- c语言ox32左移一位的值,程序设计基础 (C)(32+32) 实验指导书.docx
- lucene简单实例
- vue路由异步组件案例
- - 动规讲解基础讲解五——最长公共子序列问题
- CentOS下Redisserver安装配置
- 80psi等于多少kpa_关于胎压的换算psi、bar,kpa
- InnoDB如何实现事务特性
- Merlin——零知识证明(1)理论篇
- 苹果系统中国日历服务器,ios日历中国节日不见了(2021年苹果日历订阅地址)...
- 数据结构与算法之算法篇
- 《史蒂夫乔布斯传》部分读书摘录
- java 实现qq截图功能吗_Java实现了任意位置截屏(仿QQ截图)
- 那些年,被 3.15 点名的科技公司,你们还好吗?
- 昨天看《天使爱美丽》
- mysql LAST_DAY() 函数
- 多类差异信息柔性融合概念与内涵
- Lync客户端证书安装
- java画太极加图片_通过Java 画一个太极图