
博主用centos7系统作为演示。
检查系统和版本。
cat /etc/*release*(base) [yufc@ALiCentos7:~]$ cat /etc/*release*CentOS Linux release 7.9.2009 (Core)Derived from Red Hat Enterprise Linux 7.9 (Source)cat: /etc/lsb-release.d: Is a directoryNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https://www.centos.org/"BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.9.2009 (Core)CentOS Linux release 7.9.2009 (Core)cpe:/o:centos:centos:7(base) [yufc@ALiCentos7:~]$博主这里是Centos7版本的Linux。
检查cpu架构。
uname -a(base) [yufc@ALiCentos7:~]$ uname -aLinux ALiCentos7 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 GNU/Linux(base) [yufc@ALiCentos7:~]$命令如下。
sudo yum remove docker \> docker-client \> docker-client-latest \> docker-common \> docker-latest \> docker-latest-logrotate \> docker-logrotate \> docker-enginesudo yum remove docker-ce docker-ce-cli containerd.io docker- buildx-plugin docker-compose-plugin docker-ce-rootless-extras # 删除机器上的包sudo rm -rf /var/lib/dockersudo rm -rf /var/lib/containerdsudo rm -rf /data/var/lib/dockersudo rm -rf /etc/docker/daemon.json # 这是修改后的配置,根据实际情况进行设置这是我们机器上的仓库。
(base) [yufc@ALiCentos7:~]$ ll /etc/yum.repos.d/total 32-rw-r--r-- 1 root root 675 Apr 27 23:11 CentOS-Base.repo-rw-r--r-- 1 root root 998 Dec 11 2018 CentOS-SCLo-scl.repo-rw-r--r-- 1 root root 971 Oct 29 2018 CentOS-SCLo-scl-rh.repo-rw-r--r-- 1 root root 230 Apr 27 23:11 epel.repo-rw-r--r-- 1 root root 1358 Sep 5 2021 epel.repo.rpmnew-rw-r--r-- 1 root root 1457 Sep 5 2021 epel-testing.repo-rw-r--r-- 1 root root 1838 Apr 27 2017 mysql-community.repo-rw-r--r-- 1 root root 1885 Apr 27 2017 mysql-community-source.repo(base) [yufc@ALiCentos7:~]$我们要把docker给的仓库装到里面去
xxxxxxxxxxsudo yum install -y yum-utils # 安装最新的yum-utilsxxxxxxxxxxsudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装docker的仓库此时里面就多了一个docker-ce.repo的仓库了。

xxxxxxxxxxsudo sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repoxxxxxxxxxxsudo yum install -y docker-ce docker-ce-cli containerd.io docker- buildx-plugin docker-compose-pluginxxxxxxxxxx#配置加载sudo systemctl daemon-reload #启动服务sudo systemctl start docker #开启启动sudo systemctl enable docker #查看服务状态sudo systemctl status docker # 查看状态
此时的docker就是启动的状态了!
xxxxxxxxxxsudo docker versionxxxxxxxxxxsudo docker infoxxxxxxxxxxcd /etc/docker/ # 进入docker配置的目录xxxxxxxxxxtouch daemon.json # 创建 daemon.jsonxxxxxxxxxxvim daemon.json # 编辑这个文件输入这些内容。
xxxxxxxxxx{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]}xxxxxxxxxxsystemctl daemon-reload # 加载配置systemctl restart docker # 重启docker服务Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像,所以我们在安装的时候需要考虑这个目录的空间,有三种解决方案。
将/var/lib/docker挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装 K8s 的节点的时候提供了挂载选项,可以直接挂载这个目录过去
安装之前挂载一个大的磁盘,然后创建一个软链接到/var/lib/docker,这样就自动安装到我们空间比较大的磁盘了
安装了docker,然后发现忘了配置这个目录,我们需要修改docker的配置文件。
#假定我们磁盘的大的目录为 /data mkdir -p /data/var/lib/docker # 编辑配置文件vi /etc/docker/daemon.json# 输入下面的json{ "data-root": "/data/var/lib/docker" }# 加载配置sudo systemctl daemon-reloadsudo systemctl restart docker # 重启dockersudo systemctl status docker # 查看 docker 状态