【云原生 · Docker】Docker虚拟化技术
1.Docker入门简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
“Docker”应该是2014年最火爆的技术之一,如果没有听说过,那么你就out了,2015年将开启新的跨越。
Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)、Cgroup等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
下面对比了Docker 和传统虚拟化(KVM、XEN等)方式的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。
下图为传统虚拟化方案:

如下为Docker虚拟化方案:

Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。
- 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。
- 容器:使用镜像常见的应用或者系统,我们称之为一个容器。
- 仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。
2. Docker虚拟化特点
跟传统VM比较具有如下优点:
- 操作启动快
运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。 - 轻量级虚拟化
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。但是传统虚拟化,你虚拟10-20个虚拟机就不错了。 - 开源免费
开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。 - 前景及云支持
正在越来越受欢迎,包括各大主流公司都在推动docker的快速发展,性能有很大的优势。
跟传统VM比较具有如下缺点:
1)目前知道的人比较少
2) 相关的技术资料欠缺
3)Go语言还没完全成熟
3. Docker虚拟化安装
我们这里主要讲解如何在Centos6.x系列服务器安装,默认docker只有在Centos7以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel。
docker官方文档说要求Linux kernel至少3.8以上,一般为Centos7或者Ubuntu系统,那centos6.5如何来安装呢?
在Centos6.x系列安装docker软件,首先要关闭selinux,然后需要安装相应的epel源,如下:
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
#wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
#rpm -ivh epel-release-6-8.noarch.rpm
#yum install lxc libcgroup

然后安装docker:
#yum install docker-io
安装完后:
启动docker进程:/etc/init.d/docker start
查看docker进程:ps -ef |grep docker

Docker简单使用:
要使用docker虚拟化,首先我们需要去下载一个镜像,然后使用docker命令启动,为了好让大家理解,我这里直接利用docker启动一个新的centos系统哦。
去公共仓库下载centos镜像,下载的速度取决于网速哦。
http://182.92.188.163/centos7.tar

如果大家的网络比较慢,可以从这里下载好,然后导入镜像也可以:
docker images
在centos容器中运行bash
docker run -t -i ubuntu /bin/bash
提交容器至仓库
#docker ps -a
docker save centos > /tmp/centos.tar
docker load < centos.tar
docker export <CONTAINER ID> > /home/export.tar
导入容器
docker import export.tar
删除镜像
先删除容器
docker rm `docker ps -q`
在删除镜像
docker rmi 'IMAGE ID'
期待下次的分享,别忘了三连支持博主呀~
我是 念舒_C.ying ,期待你的关注~
【云原生 · Docker】Docker虚拟化技术的更多相关文章
- docker和虚拟化技术的区别
1.docker和虚拟化技术的区别 Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境.Dock ...
- 每周荐书:云原生、Docker、Web算法(评论送书)
每周荐书:云原生.Docker.Web算法(评论送书) 感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 名优秀评论可以免费获得此书. 云原生应用架构实践 云原生架构,关注简化开发流程.提升研发 ...
- 1.云原生之Docker容器技术基础知识介绍
转载自:https://www.bilibili.com/read/cv15180540/?from=readlist
- 2.云原生之Docker容器环境安装实践
转载自:https://www.bilibili.com/read/cv15181036/?from=readlist 官方一键安装脚本 补充时间:[2020年4月22日 11:00:59] 一键安装 ...
- docker容器虚拟化技术
简单来说,在Windows系统下安装各种运行环境的坑简直不要太多了(● ̄(エ) ̄●),并不仅限于docker.Nginx.PHP.Python等等,我会尽详细写出实际过程中遇到的各种各样的奇葩问题 1 ...
- 8.云原生之Docker容器镜像构建最佳实践浅析
转载自:https://www.bilibili.com/read/cv15220861/?from=readlist 本章目录 0x02 Docker 镜像构建最佳实践浅析 1.Dockerfile ...
- 7.云原生之Docker容器Dockerfile镜像构建浅析与实践
转载自:https://www.bilibili.com/read/cv15220707/?from=readlist Dockerfile 镜像构建浅析与实践 描述:Dockerfile是一个文本格 ...
- 6.云原生之Docker容器Registry私有镜像仓库搭建实践
转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...
- 5.云原生之Docker容器网络介绍与实践
转载自:https://www.bilibili.com/read/cv15185166/?from=readlist 例如, 当在一台未经过特殊网络配置的centos 或 ubuntu机器上安装完d ...
- 4.云原生之Docker容器数据持久化介绍与实践
转载自:https://www.bilibili.com/read/cv15182308/?from=readlist #### 创建一个web容器并创建一个数据卷挂载到容器的/webapp目录下(默 ...
随机推荐
- Shell第四章《正则表达式》
一.前言 1.1.名词解释 正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符.在大多数程序里,正则表达式都被置于两个正斜杠之间:例如/l[oO] ...
- Merge Into 语法支持
KINGBASE 兼容Oracle 语法,实现了merge into 的功能.以下以例子的形式,介绍merge into语法的使用.以下例子在V8R6 ,且 database_mode=oracle ...
- 【SQLServer】max worker threads参数配置
查看和设置max worker threads USE master; //选中你想设置max worker threads的数据库.master表示在实例级别进行设置 GO EXEC sp_conf ...
- Redis变慢?深入浅出Redis性能诊断系列文章(二)
(本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...
- Windows服务器的重复数据删除功能
自从Windows server 2012开始,微软在系统层面提供了重复数据删除功能.重复数据删除是为了文件服务器.虚拟化服务器等设计的.其实只要是存放的文件有大部分内容是相同的就可以发挥很好的效果. ...
- 输入法词库解析(六)QQ 拼音分类词库.qpyd
详细代码:https://github.com/cxcn/dtool 前言 .qpyd 是 QQ 拼音输入法 6.0 以下版本所用的词库格式,可以在 http://cdict.qq.pinyin.cn ...
- K8s nginx-ingress 如何配置二级目录转发远程静态服务器基于Vue路由history模式打包的应用程序
背景 首先这标题有点绕,我先解释下: 首先我们有静态服务器,上面某个目录有Vue路由history模式打包的应用程序(也就是build后的产物): 但是静态服务器一般不做对外域名用的,我们需要在k8s ...
- java~springboot(2022之后)~目录索引
回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考. java~springboot(2022之前)~目录索引 java~spring ...
- Elastic:使用Kafka部署Elastic Stack
- MySQL学习(2)---MySQL数据类型
ps:此随笔基于mysql 5.7.*版本. 补充: UNSIGNED:所有整数类型都可以有一个可选(非标准)UNSIGNED属性.无符号类型可用于在列中仅允许非负数存在,或者当开发者需要该列的较大数 ...