我是靠谱客的博主 英俊啤酒,这篇文章主要介绍【DevOps】CentOS8.2 安装 Docker(19.03.13)安装环境安装Docker参考资料,现在分享给大家,希望可以做个参考。

安装环境


系统版本

通过 cat /etc/redhat-release 查看,系统版本为:

CentOS Linux release 8.2.2004 (Core)

内核版本

通过 cat /proc/version 查看,内核版本为:

Linux version 4.18.0-193.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri May 8 10:59:10 UTC 2020

ps:uname -a 或 uname -r 可以直接查看内核版本号。

安装工具 DNF

从 centos7开始,DNF 成为了默认的软件包管理器,虽然 yum 仍然是可用的,但是 DNF 或许是以后的趋势,所以本文我们使用 DNF进行安装,DNF 的命令 大部分和 yum 一样。

顺便科普一下:使用 DNF 代替 yum 是为了解决 yum 性能差、内存占用过多、依赖解析速度变慢 等问题;

DNF 使用 libsolv 进行依赖解析,而 yum 由python 编写。


安装Docker


部署Kubernetes(k8s)时,为什么要关闭swap、selinux、防火墙?

不止部署k8s,许多公司在装机过程就就直接关闭了swap、selinux和防火墙

selinux,这个是用来加强安全性的一个组件,但非常容易出错且难以定位,一般上来装完系统就先给禁用了

iptables防火墙,会对所有网络流量进行过滤、转发,如果是内网机器一般都会直接关闭,省的影响网络性能,但k8s不能直接关了,k8s是需要用防火墙做ip转发和修改的,当然也看使用的网络模式,如果采用的网络模式不需要防火墙也是可以直接关闭的

swap,这个当内存不足时,linux会自动使用swap,将部分内存数据存放到磁盘中,这个这样会使性能下降,为了性能考虑推荐关掉

SWAP就不太一样了,SWAP是让你在明确的OOM和没有报错但是莫名其妙服务就不能用了之间二选一,对于集群化的服务(比如etcd)来说是挂掉一个实例和整个集群都出毛病之间二选一,一般正常人都知道该选哪个

准备工作

1、 DNF 换源
如果是一台新服务器,为了保证下载速度,我们首先将 DNF 换源为国内源,常用的有 阿里的、清华的,以阿里的为例。

复制代码
1
2
3
4
5
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo dnf makecache dnf repolist

2、修改 hostname

因为以后要做 k8s集群,所以最好在服务器什么都没装时,先改好 k8s集群的每个节点的名称。

复制代码
1
2
hostnamectl set-hostname k8s-172

3、修改 hosts 文件

复制代码
1
2
3
4
5
6
7
echo "192.168.10.202 k8s-172" >> /etc/hosts # 或者 cat >> /etc/hosts << EOF 192.168.10.202 k8s-172 EOF

4、关闭交换分区(为k8s准备)

复制代码
1
2
3
4
swapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab free -h

5、关闭 selinux

复制代码
1
2
3
4
5
6
7
8
# 查看 selinux 状态 sestatus # 或者 sestatus -v 或者 getenforce # 临时设置为 Permissive (宽松模式) setenforce 0 # 永久关闭selinux sudo sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config reboot

安装 Docker

1、安装必要工具

复制代码
1
2
dnf install -y dnf-utils device-mapper-persistent-data lvm2

2、添加 Docker 软件源

复制代码
1
2
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新 DNF 源

复制代码
1
2
dnf makecache

4、 查看可以安装的 Docker 版本

复制代码
1
2
dnf list docker-ce --showduplicates | sort -r

5、安装 Docker-CE

复制代码
1
2
dnf -y install docker-ce

如果是第一次安装 Docker,会报错:

复制代码
1
2
Problem: package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

解决办法:

复制代码
1
2
3
4
dnf -y install wget wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm dnf -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

检查是否安装成功:

复制代码
1
2
docker version

配置 与启动 Docker

1、新建 daemon.json 文件,并配置,这里主要配置了4个地方:

  • registry-mirrors :镜像改为阿里云的镜像仓库,(需要到阿里云网站申请);
  • insecure-registries :配置私有镜像仓库时,配置镜像不使用 https 传输,IP 是 私有镜像仓库的IP;
  • exec-opts :为了与 k8s 的默认驱动保持一致;
  • log :分别配置了日志的文件格式、每个容器的最大日志文件数 和 每个日志文件的最大尺寸;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir -p /etc/docker vim daemon.json { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"], "insecure-registries": ["120.xxx.xx.174:5000"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "1" } }

2、使开机自启动,并启动 Docker

复制代码
1
2
3
systemctl enable docker systemctl start docker

3、查看配置是否生效

复制代码
1
2
3
docker info systemctl status docker -l

4、如果启动 Docker 后 修改了配置文件,则需要 使配置生效并重启 Docker

复制代码
1
2
3
systemctl daemon-reload systemctl restart docker

参考资料


1、通过 kubeadm 安装 k8s
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

2、k8s 官网的 Docker 安装方法

复制代码
1
2
https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/

最后

以上就是英俊啤酒最近收集整理的关于【DevOps】CentOS8.2 安装 Docker(19.03.13)安装环境安装Docker参考资料的全部内容,更多相关【DevOps】CentOS8.2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部