CentOS7安装Docker详细教程

CentOS7安装Docker

Docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低!

Docker 从 17.03 版本之后分为了社区版和企业版,对于个人开发者而言,我们用社区版就可以了。

Docker是虚拟化技术的重要一环,作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。

使用 Docker,可以让我们开发部署应用更加方便快捷。不需要再一步一步去下载软件包然后配置了,直接通过仓库拉取镜像生成本地容器的方式就实现了安装。

Docker架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像就相当于是一个 root 文件系统。
  • 容器(Container):镜像和容器的关系,就像是面向对象程序设计中的类和实例一样。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库看管着一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器。

举个通俗易懂的例子,今年的王者荣耀“五五开黑节“”返场了孙悟空的至尊宝皮肤。

  • 至尊宝皮肤本身就是一个镜像,官方只需要精心打磨一个皮肤(即一个镜像)后拿出来可以卖给无数的人。
  • 那么皮肤到哪里获取呢?我们需要到王者荣耀商城里面进行购买,王者荣耀商城就是一个仓库,必须通过这个仓库进行获取。
  • 我们充值了888点券,购买了至尊宝的皮肤,我们手中的皮肤就是一个容器。如果100个人购买了这个皮肤,相当于官方的一份镜像在100个不同的机器上都生成了对应的容器。
  • 官方的皮肤本身是个类,而我们购买的皮肤是个对象,这就是镜像和容器的关系。整个购买流程就相当于我们去仓库里拉取镜像生成了一个容器。

如果有兴趣,大家也可以去查看 GitHub Docker源码。看源码能更深入地理解 Docker的核心原理。

Docker安装流程

这里我使用的是 root 用户进行安装,输入的命令不会出现权限问题,如果是其他用户,请记得在命令前面添加 sudo。

Docker官方要求的 CentOS系统的内核是 3.10及以上,而 CentOS7以上系统内核都是 3.10及以上,相当于说 Docker的安装需要 CentOS7以上系统。

第一步,查看系统内核版本

uname -r

可以看到,我的 CentOS7内核版本是 3.10,满足要求。
d1

第二步,更新 yum包至最新版本(不更新可能会无法安装)

yum update

d2

第三步,卸载旧的 Docker 版本。(如果是第一次安装 Docker可以跳过此步,如果之前装过 Docker一定要卸载!)

yum remove docker  docker-common docker-selinux docker-engine

第四步,安装所需软件包。( yum-util 提供 yum-config-manager 功能,后面是 devicemapper 驱动依赖)

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

我的CentOS系统中已经装了这些软件了,所以 Nothing to do,正常的话会进行下载安装。
d4

第五步,给 yum设置 Docker源

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

d5

第六步,查看仓库中的 Docker版本

yum list docker-ce --showduplicates | sort -r

d6

第七步,在列出的 Docker版本中选择一个进行安装。(两种方式)

# 1.自动安装最新稳定版
yum install docker-ce
# 2.指定版本安装,这里指定的是18.06.1
yum install docker-ce-18.06.1.ce

安装 docker-ce的过程会弹出下载提示,输入 y,回车,等待下载即可
d7

出现 complete!则证明安装完成了。
d8

查看Docker

我们先启动 Docker

systemctl start docker

启动时没有提示,命令行自动跳转就启动完成了。
d9

接下来,我们验证一下 Docker启动是否成功。

docker version

看到 Client 和 Server 两部分,就证明 Docker启动成功了。
d10

我们来运行 hello-world 映像,相当于编程语言中最经典的“Hello,World”。

docker run hello-world

d11

关闭和重启 Docke的命令

# 关闭
systemctl stop docker
# 重启
systemctl restart docker

Docker已经安装成功也能正常启动,可以去学习 Docker 的使用方法,创建容器做其他的操作了。

参考文章

RUNOOB-Docker 教程

Docker 核心技术与实现原理

Centos7上安装docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值