记录一次docker--harbor--rancher--Jenkins的集成搭建(二)——Docker介绍和安装使用

上期回顾:

上次进行虚拟机的创建,安装了最新的centOS8。其中网卡配置与7代略有不同。

目前我们有三台虚拟机,可以互相通信,其中一台会主要安装运行docker,harbor和Jenkins,rancher则会使用三台虚拟机,构建一个rancher的节点网络。

今天开始安装docker。

1、docker介绍

先抛出问题,什么是Docker?

简单地说,Docker是一种容器,可运行于Windows和Linux上。

那么容器是什么呢?

直接讲可能不明白,拿虚拟机做个对比。虚拟机也可以作为容器,在虚拟机中可以运行多个程序。Docker类似于虚拟机,在一个Docker容器中可以运行多个程序,而一台主机是可以运行多个Docker容器的。

需要注意的是,容器技术并不是只有docker一家。可能在早期docker是一家独大,但是一家独大也有不好的地方,比如现在的Oracle数据库。现在市面上的容器技术还有阿里开源的pouch,rkt这些容器技术。再加上runC的出现,容器技术也变成了百家争鸣的局面。

那么Docker和虚拟机有什么区别呢?

NB的地方就来了,虚拟机是通过一层从操作系统(guest OS)来运行不同的程序与服务的,而Docker中并没有这一层。我们可以通过结构图来对比,虚拟机的虚拟操作系统需要占用主机的硬盘资源和大量的内存资源,而docker利用Linux本身的LXC技术,做到了很好的隔离性,并且只需要很少的资源。

docker和虚拟机的对比

为什么要使用docker? 

  • 方便部署。可以说有了docker之后,环境配置成本已经基本降为1,即一次配置多次部署。整个部署流程只有pull-run两步。
  • 资源消耗少。相比于虚拟机,既可以做到进程的隔离,又只需要消耗很少的宿主机资源。
  • 性能优秀。也是相比于传统虚拟机而言,docker的性能损耗很低。

2、docker安装

CentOS安装

系统要求:

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

首先使用uname -r查看内核。

[root@localhost ~]# uname -r
4.18.0-80.el8.x86_64

可选操作:移除旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

如果是第一次安装可以省去这一步。

安装系统必要的工具。

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

添加镜像源信息。

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

经过测试,docker官方的镜像源速度并不慢,所以直接选用官方的镜像源。如果想换国内镜像源的也可以自行更换。

可以更新一下yum的缓存。

yum makecache fast

安装dockerCE版,这里官网给出的命令是:

$ sudo yum install docker-ce docker-ce-cli containerd.io

但是安装的时候其实会发现docker-ce需要后面两个作为依赖。所以这个命令可以简化。

$ sudo yum install docker-ce

因为我选择的是最新的centOS8,所以在安装时遇到了一个问题。

package docker-ce-3:19.03.2-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

我猜测是因为系统版本的原因,网上也有人提到这个问题。8代中无法自动下载最新的containerd.io。所以我最后选择了手动下载。因为是最小安装,所以先安装下载工具wget。

yum install wget

再到docker的官网下载最新的 containerd.io。我下载时,最新版本为1.2.6。

wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

下载好后进行安装。

yum install containerd.io-1.2.6-3.3.el7.x86_64.rpm

然后再次执行安装docker-ce的语句,一切正常。

安装好后,可以直接查看docker安装的版本。

docker --version

如果没有显示没问题就表明安装成功。

还有最后一步,启动docker服务。

systemctl start docker

至此,centOS8服务器上的docker就安装完成了。

Windows安装

Windows安装主要是指在Windows10系统中进行安装,Windows server也已经有了原生docker,不过这里就不介绍了(我也没用过)。

系统要求:win10系统,必须要有hyper-v。win10家庭版也可以通过某种方式开启这个功能。

下载docker官网的安装的程序,一路安装下来即可。

win10运行docker也只是用hyper-v创建了一个定制的Linux虚拟机,在其中运行docker的守护进程。Windows server上的docker才是基于Windows内核的。

3、docker使用

docker的使用主要分为两个部分:

  1. 对镜像的操作
  2. 对容器的操作

而我们对镜像的操作会和harbor一起完成,对容器的操作会和rancher一起完成。

ps:未完待续。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值