Docker架构

Docker架构分为:

1. docker host:运行docker daemon的主机

2. docker client:对容器进行create…

一个host可以启动多个容器,基于镜像可在容器中启动不同的应用。如果本地无此镜像,docker可自动连接到docker registry上下载镜像,存储到本地/文件系统(overlay2)中。

镜像本身是只读的,仓库名就是应用程序名。而仓库内是同一应用程序的不同版本,使用标签来识别之后。

Docker是码头工人的意思,而镜像可形象理解为应用程序的集装箱,码头工人docker负责装卸集装箱(image/application)。

Docker镜像

比如,在底层纯净的发行版之上,添加一个emacs层,这是一个独立的层,如果需要额外的工具则需要在上面执行安装操作比如安装vim,安装后可理解为附加了一层vim的层级,该层级仅仅包含了vim。

然后可再添加一个独立的层级如apache。当启动apache时,从下往上挂载叠加,并且三层都是只读的。如果需要读写操作,则在最上层容器的自有层次(container)进行,而其他层次是共享的。

一旦启动完成,最底下的层(kernel)也将被移除。如果删除容器,则容器自有的可写层也被删除。

镜像的分成构建和联合挂载,依赖专有的文件系统支撑。

其中overlay2是二层抽象文件系统,需要底层文件系统支持(XFS)

Docker registry

镜像的统一存储位置。构建镜像时,需要一个统一存储的位置。当启动镜像时,docker daemon先从本地获取镜像,如果本地不存在镜像则到registry中下载镜像并保存到本地。如果没有指定镜像地址,则到docker hub中获取。

一般而言,需要二次定制镜像以符合自身业务需求。

Registry的组成部分:repository(一大堆仓库)  index(一个索引)

运维人员可将镜像pull到特定的环境部署,比如UAT (用户验收测试)环境,Promote环境,Production环境。

第三方镜像仓库

https://quay.io/

镜像制作

获取flannel镜像,默认通过443端口拉取:

方法:启动一个容器,在容器之上做好自己需要的配置,然后通过docker commit制作镜像。

如:将busybox 加上html目录和index.html,将此结果做成镜像。日后每次启动有会存在此文件。

1. 安装docker服务,并启动:

yum install docker –y

systemctl start docker

2. 拉取busybox镜像:

docker pull busybox

3. 启动容器:

4. 提交:

5. 打上标签:

6. 可以为一个镜像打上多个标签:

7. 删除一个镜像,仅删除了指定标签的镜像:

8. 也能在做镜像的同时,打上标签

9. docker inspect busy 查看镜像在启动时,默认执行的命令,比如

10. 在创建镜像时,改变原来镜像默认运行的命令,修改原有镜像的基础命令,修改其中的cmd指令:

docker commit -a "jaywin.com" -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' -p b1 jaywin/httpd:v0.2

11. 运行0.2镜像:

12. 验证:

docker container inspect t2

镜像推送

1. 登录到服务器上

2. 本地镜像的名字,必须和docker hub中保持一致

国内访问比较快的镜像地址,是阿里云

https://dev.aliyun.com/

登录自己的账号,获得自己专用的加速地址,写入到daemon.json中重启docker后生效

 

可以根据操作指南,将镜像托管到阿里云:

1. docker login --username=15088132158 registry.cn-hangzhou.aliyuncs.com

2. docker tag 9bc68d7b4d76 registry.cn-hangzhou.aliyuncs.com/jaywinz/httpd:v0.1-1

3. docker push registry.cn-hangzhou.aliyuncs.com/jaywinz/httpd

推送镜像时,如果不是dockerhub,则必须加上服务器地址,名称空间和标签

 

镜像的导入和导出

在已有镜像的基础上,打包镜像。然后在另外的机上解压直接使用。

比如:

1. docker save -o myimages.gz jaywin/httpd:v0.1-1 jaywinz/httpd:v0.2-1

2. docker load -i myimages.gz

转载于:https://blog.51cto.com/13475644/2332700

Docker架构与工作流程相关推荐

  1. 长篇好文,手机充电放电架构与工作流程原理讲解

    原文来自微信公众号:工程师看海 电池充放电电路是手机中最关键的电路之一,是手机一切功能的源头,如果该电路出现问题会使得整个手机工作不稳定, 甚至无法开机.手机的电是从电池来的,电池电压经过电源管理IC ...

  2. Kafka(消息队列原理,kafka定义,Kafka架构原理,kafka架构的工作流程)秒懂的kafka

    目录 什么是Kafka? 消息队列原理: 为什么要用Kafka? kafka的架构 kafka工作流程详解: 什么是Kafka? kafka是一个分布式消息队列 这个定义意味深长,记住容易,理解不易. ...

  3. Git 之二 架构、工作流程、.git 目录文件

    写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网 ...

  4. 【云原生】Docker 架构及工作原理

    一.Docker 概述 二.Client 客户端 三.Docker 引擎 四.Image 镜像 五.Container 容器 六.镜像分层 可写的容器层 七.Volume 数据卷 八.Registry ...

  5. ArcBlock 博客 | Exchange 服务的工作流程以及如何集成到 OCAP 服务

    作者:周蕾  (ArcBlock 团队后端开发工程师) 为帮助大家深入了解 ArcBlock 的开放链访问协议的实现和技术细节,我们工程团队将定期接受采访或撰写技术博客来"解密" ...

  6. 【Docker 学习笔记】Docker架构及三要素

    文章目录 一.Docker 简介 二.Docker 架构 1. Docker 客户端和服务器 2. Docker 架构图 3. Docker 运行流程图 三.Docker 三要素 1. 镜像(Imag ...

  7. k8s创建pod加入容器_K8S架构原理及其工作流程

    K8S 容器编排系统 容器编排系统需要满足的条件: 服务注册,服务发现 负载均衡 配置.存储管理 健康检查 自动扩缩容 零宕机 K8S整体架构图 K8S整体架构 Kubernetes采用主从分布式架构 ...

  8. OpenStack的使用场合,架构,核心服务及工作流程

    目录 一,什么是openStack,全面了解openstack 二, 哪些场合在使用openstack? 三,openstack的支持团队有哪些? openstack的八个白金会员 四, open s ...

  9. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boo ...

最新文章

  1. SCRUM的三个工件
  2. 电子计算机是一种精准的仪器,常见的八种无损检测仪器
  3. spring boot + spring cloud 基础架构设计
  4. Nginx 和 PHP的安装配置
  5. 2015-12-15 关于就近日期
  6. torch expand
  7. libsvm的安装和使用(1)
  8. efi分区咋移动到c盘里_如何移动的EFI系统分区
  9. 华为hs8145v5如何改桥接_口译vlog | 跟我一起去华为东莞“欧洲小镇”吧!
  10. crontab使用方法
  11. 关注Oracle 02 财务系统的选型想说简单不容易
  12. Redmine使用介绍
  13. c语言字符串求n的阶乘,C语言求n的阶乘(n!)
  14. linux内核 4g拨号,openwrt 基于qmi的 3G|4G拨号
  15. Android消息传递机制总结
  16. Basler相机外部触发设置(Halcon)
  17. android获去活动,从android中的上下文获取活动
  18. uefi怎么念_UEFI和Legacy的区别是什么,请尽量从原理上说明?
  19. 七:面向对象-->封装(电子宠物系统为例)
  20. 汉王纷争服务器维护,4月12日汉王纷争58服/59服赛季合服公告

热门文章

  1. 华为推送 简介 集成 MD
  2. 时刻牢记基础是关键,万丈高楼平地起靠的是什么?是坚实牢固的地基!
  3. Chrome 扩展是什么?我们如何建造它?
  4. 红米手机开发版怎么样获取ROOT权限
  5. 如何实现自动化按图片搜索淘宝商品(拍立淘)功能?拍立淘API接口item_search_img
  6. 项目经理之项目经理应该做什么
  7. 挂耳耳机哪个牌子好,盘点五款挂耳式蓝牙耳机推荐
  8. 【壁纸】 Kali Linux 2019.13 原版壁纸
  9. 第十三章:Sqlserver2019数据库之Transact-SQL 语法基础及常用 SQL 函数总结
  10. 【官方】2023年“中国软件杯”大学生软件设计大赛飞桨小汪赛道基线系统