在CentOS中安装Docker

[删除(380066935@qq.com或微信通知)]

更好的阅读体验请查看原文:https://www.cnblogs.com/mstmdev/p/16032514.html

概述

Docker是一款使用Golang开发的开源容器引擎,我们可以使用Docker将自己的应用和相关依赖进行打包,实现在不同服务器上进行快速部署,而不需要再更多关注部署环境的差异性。结合kubernete我们可以更好的对Docker容器进行编排,实现高效的运维部署以及集群调度。

相关网站

安装

接下来我们介绍在CentOS中如何快速安装Docker环境

官方参考文档:https://docs.docker.com/engine/install/centos/

部署环境

操作系统:CentOS 7.6 64bit
Docker版本:  20.10.13

有些linux发行版本身已经自带了Docker相关组件,或者我们之前已经安装过Docker了,使用以下命令将旧的Docker组件删除,以免对后面的安装产生影响

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

清理完旧版本后,我们安装yum-utils包来配置Docker的安装仓库

 sudo yum install -y yum-utils

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

配置好安装源后,开始安装Docker相关的工具

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

新增docker用户,从属于docker组

useradd -g docker docker
# 或者修改现有用户到docker组
# usermod -g docker docker

# 查看docker的用户信息
id docker

设置sudo权限,使用visudo命令进行相关配置编辑

visudo

新增以下行,开放所有的权限,或者根据需求自行定制相关的权限

docker ALL=(ALL) ALL

为我们刚刚新增的docker账号设置一个密码

passwd docker

设置完成后,切换到docker用户,启动Docker

su docker
sudo systemctl start docker

查看docker状态

sudo systemctl status docker

至此,Docker基础环境已经搭建完毕了,你可以运行一个hello-world示例来验证安装的Docker是否能够正常运行

sudo docker run hello-world

另外,如果你安装的Docker是用于给kubernetes使用的,你还需要配置Docker守护程序,使用 systemd来管理容器的cgroup

官方参考文档:https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/#docker

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

设置Docker在开机时自启动,并重启Docker相关服务

sudo systemctl enable docker
sudo systemctl daemon-reload
sudo systemctl restart docker