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虚拟化有三个概念需要理解,分别镜像、容器、仓库。

  1. 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。
  2. 容器:使用镜像常见的应用或者系统,我们称之为一个容器。
  3. 仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。

2. Docker虚拟化特点

跟传统VM比较具有如下优点:

  1. 操作启动快
    运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。
  2. 轻量级虚拟化
    你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。但是传统虚拟化,你虚拟10-20个虚拟机就不错了。
  3. 开源免费
    开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。
  4. 前景及云支持
    正在越来越受欢迎,包括各大主流公司都在推动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虚拟化技术的更多相关文章

  1. docker和虚拟化技术的区别

    1.docker和虚拟化技术的区别 Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境.Dock ...

  2. 每周荐书:云原生、Docker、Web算法(评论送书)

    每周荐书:云原生.Docker.Web算法(评论送书) 感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 名优秀评论可以免费获得此书.   云原生应用架构实践 云原生架构,关注简化开发流程.提升研发 ...

  3. 1.云原生之Docker容器技术基础知识介绍

    转载自:https://www.bilibili.com/read/cv15180540/?from=readlist

  4. 2.云原生之Docker容器环境安装实践

    转载自:https://www.bilibili.com/read/cv15181036/?from=readlist 官方一键安装脚本 补充时间:[2020年4月22日 11:00:59] 一键安装 ...

  5. docker容器虚拟化技术

    简单来说,在Windows系统下安装各种运行环境的坑简直不要太多了(● ̄(エ) ̄●),并不仅限于docker.Nginx.PHP.Python等等,我会尽详细写出实际过程中遇到的各种各样的奇葩问题 1 ...

  6. 8.云原生之Docker容器镜像构建最佳实践浅析

    转载自:https://www.bilibili.com/read/cv15220861/?from=readlist 本章目录 0x02 Docker 镜像构建最佳实践浅析 1.Dockerfile ...

  7. 7.云原生之Docker容器Dockerfile镜像构建浅析与实践

    转载自:https://www.bilibili.com/read/cv15220707/?from=readlist Dockerfile 镜像构建浅析与实践 描述:Dockerfile是一个文本格 ...

  8. 6.云原生之Docker容器Registry私有镜像仓库搭建实践

    转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...

  9. 5.云原生之Docker容器网络介绍与实践

    转载自:https://www.bilibili.com/read/cv15185166/?from=readlist 例如, 当在一台未经过特殊网络配置的centos 或 ubuntu机器上安装完d ...

  10. 4.云原生之Docker容器数据持久化介绍与实践

    转载自:https://www.bilibili.com/read/cv15182308/?from=readlist #### 创建一个web容器并创建一个数据卷挂载到容器的/webapp目录下(默 ...

随机推荐

  1. 第六章 部署node运算节点服务

    一.部署Kubelet 1.1 集群规划 主机名 角色 IP hdss7-21 kubelet 10.4.7.21 hdss7-22 kubelet 10.4.7.22 注意:部署以10.4.7.21 ...

  2. omc.

    OMC 099(4b) D 因为 \((abc)^{\dfrac 13} \le \dfrac{a+b+c}3\)(基本不等式),将 \(a = xy, b = yz, c = xz\) 代入得到 \ ...

  3. 基于electron+vue+element构建项目模板之【自定义标题栏&右键菜单项篇】

    1.概述 开发平台OS:windows 开发平台IDE:vs code 本篇章将介绍自定义标题栏和右键菜单项,基于electron现有版本安全性的建议,此次的改造中主进程和渲染进程彼此语境隔离,通过预 ...

  4. Kubernetes HPA 使用详解

    文章转载自:https://www.qikqiak.com/post/k8s-hpa-usage/ Kubernetes 提供了这样的一个资源对象:Horizontal Pod Autoscaling ...

  5. 存储类StorageClass

    存储类概述 StorageClass 存储类用于描述集群中可以提供的存储的类型.不同的存储类可能对应着不同的: 服务等级(quality-of-service level) 备份策略 集群管理员自定义 ...

  6. Kubernetes ConfigMap热更新

    ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中. 总结 更新 ConfigMap 后: 使用该 ConfigMap 挂载的 Env 不会同步更新 ...

  7. Springboot之 Mybatis 多数据源实现

    简介 上篇讲解了 JPA 多数据源实现:这篇讲解一下 Mybatis 多数据源实现 .主要采用将不同数据库的 Mapper 接口分别存放到不同的 package,Spring 去扫描不同的包,注入不同 ...

  8. PAT (Advanced Level) Practice 1001 A+B Format 分数 20

    Calculate a+b and output the sum in standard format -- that is, the digits must be separated into gr ...

  9. 关于将Azure云上磁盘导出-使用VirtualBox转换成vmdk格式的方法记录

    在工作中,经常会遇到虚拟磁盘文件格式的转换需求,尤其是在虚拟化迁移及云环境迁移到DC的虚拟化环境中 或者中转处理,如最近笔者遇到一个需要将Azure Cloud上的磁盘导出到VMware中,但Azur ...

  10. OnionArch - 采用DDD+CQRS+.Net 7.0实现的洋葱架构

    博主最近失业在家,找工作之余,看了一些关于洋葱(整洁)架构的资料和项目,有感而发,自己动手写了个洋葱架构解决方案,起名叫OnionArch.基于最新的.Net 7.0 RC1, 数据库采用Postgr ...