Skip to content

Docker 安装

以 centos 为例

https://docs.docker.com/engine/install/centos/

1.移除旧版本

旧版本的Docker被称为 dockerdocker-engine 。在尝试安装新版本之前,请卸载任何此类旧版本以及相关的依赖项。

bash
sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

2.设置 docker yum 源

bash
sudo yum install -y yum-utils
# 官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装最新docker engine

要安装最新版本

bash
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.安装指定版本docker engine

要安装特定版本,请首先列出存储库中的可用版本

bash
yum list docker-ce --showduplicates | sort -r

image-20240914115702212

运行后也可能发生报错,比如我遇到的

第一个问题

image-20240913164717571

  1. 进入 /etc/yum.repos.d/
bash
cd /etc/yum.repos.d
  1. CentOS-SCLo-sclCentOS-SCLo-scl-rh 里的 http://mirror.centos.org 替换为 https://mirrors.aliyun.com,并注释 mirrorlist,解除 baseurl 的注释

    比如:

    bash
    # baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/
    mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo

    改为阿里云镜像

    bash
    baseurl=https://mirrors.aliyun.com/centos/7/sclo/$basearch/sclo/
    # mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
  2. yum update

第二个问题

image-20240914161010956

  1. 进入阿里云镜像服务

image-20240914161514669

  1. 创建个人实例

image-20240914161649619

  1. 选择镜像工具 -> 镜像加速器

添加 daemon.json 配置

bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://5az2cmpg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

image-20240914162126395

以后拉取镜像都是直接从阿里云拉取

/etc/docker/daemon.json 是Docker的核心配置文件

解决完问题就可以选择安装指定版本的 docker engine了

bash
# 安装指定版本,用上面的版本号替换<VERSION_STRING>
sudo yum install docker-ce-<VERSION_STRING>.x86_64 docker-ce-cli-
<VERSION_STRING>.x86_64 containerd.io
# 例如:
#yum install docker-ce-3:20.10.5-3.el7.x86_64 docker-ce-cli-3:20.10.5-3.el7.x86_64 containerd.io
# 注意加上 .x86_64 大版本号

5.离线安装

Index of linux/centos/7/x86_64/stable/Packages/ (docker.com)

选择需要使用的版本进行下载

bash
rpm -ivh xxx.rpm

Binaries | Docker Docs

也可以下载 tar 文件,解压启动即可

6.启动服务

bash
systemctl start docker
systemctl enable docker

Released under the MIT License.