概述
Docker是一款使用Golang开发的开源容器引擎,我们可以使用Docker将自己的应用和相关依赖进行打包,实现在不同服务器上进行快速部署,而不需要再更多关注部署环境的差异性。结合kubernete我们可以更好的对Docker容器进行编排,实现高效的运维部署以及集群调度。
相关网站
- Docker官网:https://www.docker.com/
- 镜像仓库Docker Hub:https://registry.hub.docker.com/
- Docker相关开源项目:https://www.docker.com/community/open-source/
- containerd容器运行时: https://containerd.io/
- Moby项目:https://mobyproject.org/
- Docker安装文档:https://docs.docker.com/engine/install/
安装
接下来我们介绍在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