前提说明
- CentOS 7 安装 Docker:
- Docker 并非是一个通用的容器工具,它依赖于已经存在并运行的 Linux 内核环境。
- Docker 实际上是在已经运行的 Linux 下制造一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
- 因此,Docker 必须部署在 Linux 内核的系统上。如果其他系统想要部署 Docker 就必须要安装一个虚拟的 Linux 环境。
Docker 下载地址
环境准备
https://docs.docker.com/get-started/overview/
- Docker 运行在 CentOS7 上,要求系统为 64 位,系统内核版本是 3.10 以上。
- Docker 运行在 CentOS6.5 或更高版本的 CentOS 上,要求系统为 64 位,系统内核版本是 2.6.32-431 或者更高版本。
Linux系统分为两种: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:Debian、Ubuntu等 RedHat系列的包管理工具是yum Debian系列的包管理工具是apt-get 查看系统版本: cat /proc/version 查看 Linux 内核 uname -r
安装
步骤
1、卸载旧版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2、需要的安装包
yum install -y yum-utils
3、设置镜像仓库
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo // 默认是国外的http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo // 阿里云镜像地址
或者配置K8S的yum源
wget ftp://ftp.rhce.cc/k8s/docker-ce.repo -P /etc/yum.repos.d/
4、更新yum软件包索引
yum makecache fast
5、安装docker相关的内容 docker-ce 社区版
yum list docker-ce --showduplicates | sort -r 查看存储库中 Docker 的版本yum install docker-ce docker-ce-cli containerd.io 安装最新版本的 Docker
6、配置阿里云镜像加速
登录阿里云,找到容器镜像服务,找到自己的镜像加速器
配置步骤
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
7、重新加载配置文件
systemctl daemon-reload
8、启动
systemctl start docker
9、查看是否启动成功
docker version

如果出现 WARNING: IPv4 forwarding is disabled. Networking will not work. 这样的警告
- 解决方案:
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 # 添加这段代码
systemctl restart network && systemctl restart docker
卸载docker
1. 卸载依赖yum remove docker-ce docker-ce-cli containerd.io2. 删除目录rm -rf /var/lib/dockerrm -rf /var/lib/containerd
问题汇总
docker 启动报错
Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “journalctl -xe” for details.
修改/usr/lib/systemd/system/docker.service
错误原因:
docker的socket配置出现了冲突,docker在运行时的启动入口文件为:/lib/systemd/system/docker.service,我们在配置镜像加速之后又添加了一个守护进程文件:/etc/docker/daemon.json,两个文件对host进行了配置,发生冲突。
journalctl -xe 查看报错详情
failed to start daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: devicemapper, o
解决办法:
修改 /etc/docker/daemon.json增加:"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]

docker -v 查看版本systemctl enable docker 设置服务器开机启动systemctl stop docker 停止docker

systemctl 方式sudo systemctl daemon-reload 守护进程重启sudo systemctl restart docker 重启docker服务sudo systemctl stop docker 关闭docker
