Docker基本概念和框架
Docker简介启动Docker容器:
什么是容器?
[*] 一种虚拟化的方案
[*] 操作系统级别的虚拟化
[*] 只能运行相同或相似内核的操作系统
[*] 依赖于Linux内核特性:Namespace和Cgroups(Control Group)
容器技术优点:
[*] 占用磁盘空间小
[*] 资源占用小
[*] 对CPU、内存资源消耗小
什么是Docker?
[*] 将应用程序自动部署到容器
[*] Go 语言开源引擎 Github地址:https://github.com/docker/docker
[*] 2013年初 dotCloud
[*] 基于Apache2.0 开源授权协议发行
Docker的目标
[*] 提供简单轻量的建模方式
[*] 职责的逻辑分离
[*] 快速高效的开发生命周期
[*] 鼓励使用面向服务的架构
Docker的使用场景
1、使用Docker容器开发、测试、部署服务。
2、创建隔离的运行环境
3、搭建测试环境
4、构建多用的平台即服务(PaaS)基础设施
5、提供软件即服务(SaaS)应用程序
6、高性能、超大规模的宿主机部署
例如:
1、腾讯万台规模的Docker应用实践
Docker的基本组成
[*] docker client客户端
[*] docker daemon守护进程
[*] docker image 镜像
[*] docker container 容器
[*] docker registry 仓库
Docker客户端/守护进程
[*] c/s架构
[*] 本地/远程
Docker Image 镜像
[*] 容器的基石
[*] 层叠的只读文件系统
[*] 联合加载(union mount)
DockerContainer 容器
[*] 通过镜像启动
[*] 启动和执行阶段
[*] 写时复制(copy on write)
Docker Registry仓库
[*] 公有
[*] 私有
[*] docker Hub
docker version 查看docker版本
docker search tutorial 查找tutorial镜像
docker pull learn/turorial 从仓库下载镜像到本地
docker run learn/turorial echo ‘ hello word’
docker run learn/turorial apt-get install -y ping在容器中安装ping命令
docker ps -l 查看容器
docker commit 69822a9948422 learn/ping 将修改的容器提交
docker run learn/ping ping www.google.com 运行镜像
docker ps查看你当前镜像
docker inspect efefdc74ald5 查看你运行中的容器
docker image 查看镜像
docker push learn/ping 将镜像保持到docker hub仓库上
Docker容器相关技术简介
Docker依赖的Linux内核特性
[*] Namespaces 命名空间
[*] Control groups (cgroups)控制组
Docker源码分析:http://www.infoq.com/cn/articles/docker-source-code-analysis-part1/
页:
[1]