docker使用手册
更新时间:2023-12-18 06:08:01 阅读量: 教育文库 文档下载
概念
Docker daemonDocker imagesDocker clientDocker RegistriesDocker containers Docker client
用户通过Docker client向Docker daemon发送指令
Docker daemon
Docker的核心运行在一台机器上,内部包含三个组件。
Docker images
是一个模板,内部可以包含自己的中间件和程序。类似于一个归档文件。系统的改变可以通过增加image来实现。多个image文件通过unionFS(linux,unix中的一个module)被整合成一个新文件,作为linux的rootfs。如果你的程序需要升级,而不需要更改操作系统,那
么你可以删除原有程序所在的image,然后加入新的image即可。通常会从doceker hub上下载一个基础image,例如一个centos的系统,或者是一个装了mysql的centos系统,然后通过加入自己的层来达到个性化部署的目的。
Hub上的Image name有两种格式
1. image_name 就是一个名字,例如centos或者centos:v5。这个名字代表是hub官方维护的image
2. username/image_name 用户名/image_name。例如wwh/Hadoop。这个名字代表是该用户负责维护这个image
image_name由三部分组成REGISTRY_HOST/REPOSITORY:TAG。如果省略TAG,这时候TAG=latest。如果省略REGISTRY_HOST,REGISTRY_HOST=hub的网址。docker会自动为最后创建的image加上一个latest的标签。例如centos:7和centos:latest代表同一个image,他们的image相同。
注意:“/“前的REGISTRY_HOST和username是互斥的。REGISTRY_HOST要和username注意区分,猜测docker区分的方式是字符串中是否包含有”.”。所以REGISTRY_HOST可以是ip地址或者是一个包含有”.”的网址。尤其在docker push或docker pull的时候要注意。如果REGISTRY_HOST不是ip地址,需要标注--insecure-registry,如果是ip地址docker会自动标注--insecure-registry。
Docker registries
用来存放images。分公有registry和私有registry,公有的就叫docker hub,公有的也可以设置对外是否可见。可以使用docker hub上别人发布的image。大多数情况下我们会使用私有registry,就是在你的内网,防火墙的后面。可以使用docker search来找到已经发布的image,下载到本机并创建container。
Docker container
基于image创建。可以理解成一台轻量级虚拟机。当一个container开始运行时,需要知道image的名字和container启动时需要运行的命令。如果image已经存在于本地就使用本地的,否则使用docker hub的。
原理
在同一个kernel(bootfs)上运行多个linux distributions(rootfs)。这个内核就是docker所在主机的内核。docker挂载每个rootfs时不再只读,而是通过union mount将多个只读文件连接在一起,然后校验完整性。这些所有的文件整合在一起形成docker的文件系统UFS(Union File System),然后被内核挂载。
涉及Linux技术
用到了一些linux的底层技术
Namespace
linux namespaces用来独立各个container pid namespace: 用来独立Process ID。 net namespace: 用来独立network interfaces。 ipc namespace: 用来独立 IPC资源。 mnt namespace: 用来独立管理挂载点 uts namespace: 用来独立内核。
Control groups
linux cgroup--container之间共享硬件资源并配额
Union file system
docker可以使用unionfs的几个变种AUFS, btrfs, vfs, DeviceMapper
Container format
目前docker支持的容器格式有libcontainer和lxc
安装
目前版本是1.3,支持centos6(内核需要大于2.6.32-431)和centos7,
不支持centos5。6和7的命令集也有差别。后续版本官方已经声明只支持3.8及以上内核。意味着后续的版本如果要在centos6上运行,需要升级6的内核。
Docker只能运行在64位操作系统上。
Centos7
先安装yum install device-mapper-event-libs 再安装yum install docker 请确保你的yum源有
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
因为docker是在centos-extras软件仓库中。FirewallD在centos7中新引入,并用来包装iptables。目前已知bug是,如果在docker之后进行FirewallD的(重)启动操作,FirewallD将从iptables中移出docker的chain。所以要确保docker daemon在FirewallD之后启动,或者是在FirewallD(重)启动后重启docker daemon。
Centos6
配置EPEL的yum源 yum install docker-io
如果你之前已经装过了docker,请移除,否会有冲突,已经有bugreport了。
正在阅读:
docker使用手册12-18
基层党建工作心得体会04-04
软件体系结构试题库(软件工程)试题和答案10-13
2021届高考英语(浙江专用)二轮评估验收仿真模拟卷(十)04-26
预祝活动成功的成语02-12
石油化工装置中汽轮机的管道设计05-15
第九章 心率变异性01-19
国家标准硬度HLDHRCHRBHVHBHSD转换换算表 - 图文03-04
中国古代文学史及作品选讲试题库04-03
血液科出科考10-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 手册
- 使用
- docker
- 《石油与天然气地质学》复习题
- 水木清华雨季施工方案
- 党支部-考研就业周刊第11期 - 图文
- 工程造价2012定额
- 柑橘皮中柚皮苷的研究价值及发展前景
- 班级管理的民主化,科学化
- 甘肃省幼儿园教育指导纲要
- 钢混凝土组合柱子ANSYS分析建模命令流
- 《环境噪声控制工程》复习题及参考答案
- 2015河南政法干警面试排序类问题详解
- 北语15秋《文学概论》作业1 100分答案
- 8 - 蛋白质降解与氨基酸代谢复习题 2
- 2009年高考化学第二轮热点专题训练4 - 电离平衡(五年高考真题精练)
- 2013初三数学相似压轴习题
- 安全生产管理规章制度和操作规程清单
- VC++2010游戏开发随记之四十二 - 图文
- 心理健康教育课程标准
- 印尼代表团名单 - 图文
- 各功能室使用管理制度
- 《Excel数据的排序》教学设计