Docker架构与工作流程
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架构与工作流程相关推荐
- 长篇好文,手机充电放电架构与工作流程原理讲解
原文来自微信公众号:工程师看海 电池充放电电路是手机中最关键的电路之一,是手机一切功能的源头,如果该电路出现问题会使得整个手机工作不稳定, 甚至无法开机.手机的电是从电池来的,电池电压经过电源管理IC ...
- Kafka(消息队列原理,kafka定义,Kafka架构原理,kafka架构的工作流程)秒懂的kafka
目录 什么是Kafka? 消息队列原理: 为什么要用Kafka? kafka的架构 kafka工作流程详解: 什么是Kafka? kafka是一个分布式消息队列 这个定义意味深长,记住容易,理解不易. ...
- Git 之二 架构、工作流程、.git 目录文件
写在前面 Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网 ...
- 【云原生】Docker 架构及工作原理
一.Docker 概述 二.Client 客户端 三.Docker 引擎 四.Image 镜像 五.Container 容器 六.镜像分层 可写的容器层 七.Volume 数据卷 八.Registry ...
- ArcBlock 博客 | Exchange 服务的工作流程以及如何集成到 OCAP 服务
作者:周蕾 (ArcBlock 团队后端开发工程师) 为帮助大家深入了解 ArcBlock 的开放链访问协议的实现和技术细节,我们工程团队将定期接受采访或撰写技术博客来"解密" ...
- 【Docker 学习笔记】Docker架构及三要素
文章目录 一.Docker 简介 二.Docker 架构 1. Docker 客户端和服务器 2. Docker 架构图 3. Docker 运行流程图 三.Docker 三要素 1. 镜像(Imag ...
- k8s创建pod加入容器_K8S架构原理及其工作流程
K8S 容器编排系统 容器编排系统需要满足的条件: 服务注册,服务发现 负载均衡 配置.存储管理 健康检查 自动扩缩容 零宕机 K8S整体架构图 K8S整体架构 Kubernetes采用主从分布式架构 ...
- OpenStack的使用场合,架构,核心服务及工作流程
目录 一,什么是openStack,全面了解openstack 二, 哪些场合在使用openstack? 三,openstack的支持团队有哪些? openstack的八个白金会员 四, open s ...
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 : -- u-boo ...
最新文章
- SCRUM的三个工件
- 电子计算机是一种精准的仪器,常见的八种无损检测仪器
- spring boot + spring cloud 基础架构设计
- Nginx 和 PHP的安装配置
- 2015-12-15 关于就近日期
- torch expand
- libsvm的安装和使用(1)
- efi分区咋移动到c盘里_如何移动的EFI系统分区
- 华为hs8145v5如何改桥接_口译vlog | 跟我一起去华为东莞“欧洲小镇”吧!
- crontab使用方法
- 关注Oracle 02 财务系统的选型想说简单不容易
- Redmine使用介绍
- c语言字符串求n的阶乘,C语言求n的阶乘(n!)
- linux内核 4g拨号,openwrt 基于qmi的 3G|4G拨号
- Android消息传递机制总结
- Basler相机外部触发设置(Halcon)
- android获去活动,从android中的上下文获取活动
- uefi怎么念_UEFI和Legacy的区别是什么,请尽量从原理上说明?
- 七:面向对象-->封装(电子宠物系统为例)
- 汉王纷争服务器维护,4月12日汉王纷争58服/59服赛季合服公告
热门文章
- 华为推送 简介 集成 MD
- 时刻牢记基础是关键,万丈高楼平地起靠的是什么?是坚实牢固的地基!
- Chrome 扩展是什么?我们如何建造它?
- 红米手机开发版怎么样获取ROOT权限
- 如何实现自动化按图片搜索淘宝商品(拍立淘)功能?拍立淘API接口item_search_img
- 项目经理之项目经理应该做什么
- 挂耳耳机哪个牌子好,盘点五款挂耳式蓝牙耳机推荐
- 【壁纸】 Kali Linux 2019.13 原版壁纸
- 第十三章:Sqlserver2019数据库之Transact-SQL 语法基础及常用 SQL 函数总结
- 【官方】2023年“中国软件杯”大学生软件设计大赛飞桨小汪赛道基线系统