Docker入门与安装(CentOS环境)

一、什么是Docker

Docker是基于Go语言实现的开源容器项目,可以将Docker容器理解为一种轻量级的沙盒(sandbox)。每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。其构想是要实现“Build, Ship and Run Any App, Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件级别的“一次封装,到处运行”。

二、Docker与传统虚拟化

虚拟化的核心是对资源的抽象,目标往往是为了在同一个主机上同时运行多个系统或应用,从而提高系统资源的利用率,并且带来降低成本、方便管理和容错容灾等。

虚拟化级别

  1. 完全虚拟化
    虚拟机模拟完整的底层硬件环境和特权指令的执行过程,客户操作系统无须进行修改。例如IBM p和z系列的虚拟化、VMware Workstation、VirtualBox、QEMU等;
  2. 硬件辅助虚拟化
    利用硬件(主要是CPU)辅助支持(目前x86体系结构上可用的硬件辅助虚拟化技术包括Intel-VT和AMD-V)处理敏感指令来实现完全虚拟化的功能,客户操作系统无须修改,例如VMware Workstation, Xen, KVM
  3. 部分虚拟化
    只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。现在有些虚拟化技术的早期版本仅支持部分虚拟化
  4. 超虚拟化
    部分硬件接口以软件的形式提供给客户机操作系统,客户操作系统需要进行修改,例如早期的Xen
  5. 操作系统级虚拟化
    内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程。容器相关技术即在这个范畴。

虚拟化方式比较

虚拟化方式比较

特性Docker容器虚拟机
启动速度秒级分钟级
性能接近原生较弱
内存代价很小较多
磁盘使用一般为MB一般为GB
运行密度单机支持上千个容器一般几十个
隔离性安全隔离完全隔离
迁移性优秀一般

Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差,由同一个库管人员管理主机操作系统内核,因此通过库管人员可以看到所有Docker的相关信息。
服务器虚拟化拥有完全独立(隔离)的空间,属于不同的虚拟机所有者。每个虚拟机有各自的库管人员来管理当前虚拟机的操作系统内核,无法管理其它虚拟机。不存在信息共享的情况。

三、Docker核心概念

1.镜像

Docker镜像是一个只读模板,是创建Docker容器的基础,类似于虚拟机镜像。例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了Apache应用程序(或用户需要的其他软件)。可以把它称为一个Apache镜像。
其借鉴了git的思想,通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用。

2.容器

Docker容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

3.仓库

Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。与Git代码仓库的概念非常相似。所有仓库存放在仓库注册服务器(Registry)上。
Docker仓库

四、CentOS环境下安装Docker

首先Docker目前支持CentOS 7及以后的版本,64位操作系统,内核版本至少为3.10。
我们可以通过命令:uname -a查看内核版本详细信息在这里插入图片描述
在root权限下分别运行命令,升级yum,支持devicemapper存储类型:

yum update
yum install -y yum-utils device-mapper-persistent-data lvm2

加Docker稳定版本的yum软件源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

更新yum软件源缓存,并安装Docker:

yum update
yum install -y docker-ce

启动docker服务

systemctl start docker

通过命令获取更全面的版本信息

docker version

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值