Linux安装Docker

前言

注意:Debian10x64已通过自测,Ubuntu和CentOS暂未自测,此处仅做记录备用

安装前必读

Linux 内核:官方建议 3.10 以上

注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo

准备工作

  1. 查看当前的内核版本,命令:uname -r

Docker 对Linux 内核版本的最低要求是3.10,如果内核版本低于3.10 会缺少一些运行Docker 容器的功能。

  1. 更新软件包
1
2
3
4
5
# Debian/Ubuntu
apt update

# CentOS
yum update
  1. 卸载旧版本(如果之前安装过的话)
1
2
3
4
5
6
7
# Debian/Ubuntu
apt remove docker docker-engine docker.io containerd runc

# CentOS
yum remove docker docker-client docker-client-latest \
docker-common docker-latest docker-latest-logrotate \
docker-logrotate docker-engine

安装Docker

  1. 添加使用 HTTPS 传输的软件包以及 CA 证书
1
2
3
4
5
# Debian/Ubuntu
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common lsb-release

# CentOS
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置源,添加软件源的 GPG 密钥
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Debian - 阿里源,适用于国内服务器
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
# Debian - 官方源,适用于国外服务器
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

# Ubuntu - 阿里源,适用于国内服务器
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
# Ubuntu - 官方源,适用于国外服务器
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

# CentOS - 阿里源,适用于国内服务器
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# CentOS - 官方源,适用于国外服务器
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 将 Docker 版本库添加到APT源
1
2
3
4
5
6
7
8
9
10
11
# Debian - 阿里源,适用于国内服务器
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
# Debian - 官方源,适用于国外服务器
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

# Ubuntu - 阿里源,适用于国内服务器
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Ubuntu - 官方源,适用于国外服务器
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# CentOS - 无需此步骤
  1. 用新添加的 Docker 软件包来进行升级更新
1
2
3
4
5
# Debian/Ubuntu
apt update

# CentOS
yum update
  1. 确保要从Docker repo而不是默认的Debian repo安装(CentOS无需此步骤)
1
2
# Debian/Ubuntu
apt-cache policy docker-ce
  1. 安装 Docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Debian/Ubuntu - 安装最新版
apt install docker-ce

# Debian/Ubuntu - 列出可用的版本号并安装指定版本
# 例:apt install docker-ce=18.03.0ce-0ubuntu
apt-cache madison docker-ce
apt install docker-ce=<VERSION>

# CentOS - 安装最新版
# 请接受此指纹: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
yum install docker-ce docker-ce-cli containerd.io

# CentOS - 列出可用的版本号并安装指定版本
# 例:yum install -y docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-<VERSION> docker-ce-cli-<VERSION> containerd.io

  1. 启动Docker(Debian/Ubuntu无需此步骤)
1
2
# CentOS
systemctl start docker
  1. 检查 Docker 是否安装成功
1
2
# Debian/Ubuntu/CentOS
docker -v
  1. 修改镜像源以提升镜像拉取速度

国内服务器大概率无法pull镜像,通过VIM编辑文件,添加以下内容:

1
2
3
4
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/","https://hub-mirror.c.163.com","https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.12:5000"]
}

修改镜像源命令如下:

1
2
3
4
5
# Debian/Ubuntu/CentOS
vim /etc/docker/daemon.json

# vim后重启docker服务
systemctl restart docker
作者

Ethan Davis

发布于

2021-09-12

更新于

2021-11-21

许可协议

评论