精通docker(2)安装docker,为后续k8s做准备

想跟着我学习的同学,最好和我完全一样的开发环境,不然就会出现为什么你可以我不可以的问题。(备注:docker之后就是k8s,因此环境一定要一致。后面我会做视频课程)

安装难度:简单。大家对着命令照做即可。

操作系统:centos 7

选择centos 7.0。这个版本比较低,官方也不再更新,但是做实验非常合适!

第一步:删除已安装的docker

yum remove docker*

第二步:安装yum-utils工具

yum install -y yum-utils

这一步可能会出错,原因是什么呢?因为官方的仓库不更新了,所以软件仓库没东西了。我给大家解释一下是怎么回事:

比如说,我们在使用windows系统的时候,有很多软件商店,像微软系统内置的一个,还有360的软件仓库,我们假设这就是我们平常安装软件的仓库。

我们就在这几个地方下载安装软件,因此可以将这些软件商店称为软件仓库(repo)。所谓仓库就是把一大堆的软件集中在一起供用户下载。

到了linux系统就不一样了,因为它没有图形界面,就是我们平常看到的黑乎乎的字符终端,不能直接点鼠标选择了,怎么办呢?

linux的思路是这样的,它把那些软件仓库的地址收集在一起,然后再缓存一下软件目录,比如A仓库有200个软件,分别名为什么。也就是说它是纯文本操作的。假如我想下载一个名为XYZ的软件,它就在这些缓存列表中进行查找,然后到软件仓库的地址中下载。

但是现在由于官方不维护了(关门了),那么这个软件仓库里面一个软件也没了,因此也不能下载了

仓库的原理我们明白了,因此我们需要将linux系统中的仓库更换一下,命令如下:

#下载阿里云的仓库
curl -o \
/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#替换源地址为vault
sed -i 's#http://mirrors.aliyun.com/centos/7/#https://vault.centos.org/7.9.2009/#g' \
/etc/yum.repos.d/CentOS-Base.repo

#清理并重建缓存
yum clean all
yum makecache

最后,我们查看一下仓库列表

yum repolist all

可以看到有三个仓库正常了,类比于windows就是,现在有三个软件商店开张了,第一个软件商店里面有10072个软件(后面我会大量的用windows类比linux,让不熟悉linux的同学能理解概念)。

第三步:配置docker地址

yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

docker的安装包还有一个专门的软件仓库,因此我们把它加进来,就像比windows系统又多了一个软件管家,当我们下载docker的相关软件时就专门从这个仓库下载。

第四步:安装docker指定版本

yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

这个版本主要为了后面的课程做准备

第五步:开机启动docker

systemctl enable docker --now

第六步:配置docker镜像加速

#创建目录
mkdir -p /etc/docker

#写入配置
tee /etc/docker/daemon.json<<-'EOF' 
{
  "registry-mirrors":["https://jbw52uwf.mirror.aliyuncs.com"],  
  "exec-opts":["native.cgroupdriver=systemd"], 
  "log-driver":"json-file",
  "log-opts":{
    "max-size":"100m"
  },
  "storage-driver":"overlay2"
}
EOF

加速是什么意思呢?如果后面需要下载一些知名的镜像时,可以从阿里云上面拉取,这样就加快了下载的速度。

第七步:重启docker

#重新加载配置
systemctl daemon-reload

#重启docker
systemctl restart docker

总结

1、当linux系统的软件仓库过期时,需要重新配置仓库。
2、docker镜像加速是指,下载镜像时从指定的阿里云下载。

原文链接:,转发请注明来源!