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