安装Docker
[Docker官方文档](Install Docker Engine on CentOS | Docker Docs)
前提:Docker要求CentOS系统的内核版本高于3.10
uname -r #通过 uname -r 命令查看你当前的内核版本
一、卸载旧版
首先如果系统中已经存在旧的Docker,则先卸载:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum可能会报告您未安装这些包。
二、配置Docker的yum库
-
首先要安装一个yum工具
centos7在2024年6月30日,生命周期结束,官方不再进行支持维护,官方的YUM源也下线了,下线的方式是使yum的域名不解析。所以现在需要配置国内的YUM源
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
上述命令我用的时候用不了,下面是解决方法。
-
打开CentOS-Base.repo;
sudo vi /etc/yum.repos.d/CentOS-Base.repo
-
将CentOS-Base.repo里的内容全部替换为:
# CentOS-Base.repo # # 这里配置了CentOS的yum源,使用了阿里云和清华大学的镜像点。 # [base] name=CentOS-$releasever - Base baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/ http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # 使用failovermethod指定优先级,这里设置为随机(roundrobin),也可以改为priority并指定每个URL的优先级 failovermethod=roundrobin
-
清理YUM缓存并更新
sudo yum clean all sudo yum makecache sudo yum update
到此问题应该就能解决啦,继续配置yum库吧!
安装yum工具:
sudo yum install -y yum-utils
-
三、安装Docker引擎
-
yum添加阿里云docker镜像仓库:
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
列出docker版本【sort -r 降序排列】:
yum list docker-ce --showduplicates | sort -r
-
指定docker版本进行安装【-23.0.6为指定版本,如果不指定版本则默认安装最新版本】:
#指定版本安装 yum install -y docker-ce-23.0.6 #不指定版本安装 yum install -y docker-ce
-
启动docker
systemctl start docker
-
设置docker开机自启动
systemctl enable docker
-
验证docker是否安装成功
-
使用【docker version】【docker ps】【docker images】等任意docker命令都可以验证是否安装成功。
-
四、设置国内镜像【不设置可能会导致拉去镜像失败】
-
进入/etc/docker文件夹下,修改daemon.json。如果文件不存在则,创建该文件。
-
daemon.json文件内容如下
{ "registry-mirrors" : [ "https://jkfdsf2u.mirror.aliyuncs.com", "https://registry.docker-cn.com" ], "insecure-registries" : [ "docker-registry.zjq.com" ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "10" }, "data-root": "/data/docker" }
-
保存修改内容后重启docker
systemctl daemon-reload systemctl restart docker
-
尝试拉取镜像,拉取速度会比没有配置时快很多.
问题:虽然配置了国内源,但会出现镜像拉取超时:
解决方案1:配置加速地址
配置加速地址:适用于Ubuntu 16.04+、Debian 8+、CentOS 7+
方式一:使用以下命令设置registry mirror:但是需要重启docker服务
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
检查加速是否生效:
查看docker系统信息 docker info,如果从输出结果中看到了 registry mirror 刚配置的内容地址,说明配置成功。尝试拉取镜像,成功!
sudo docker run hello-world