关于版本号的疑问
docker version number confusion: 17.06 vs 1.13?
Time-based release schedule
在一些旧的 Docker 文档中,经常会提到 Docker 1.x 版本,而另外一些文档是 Docker 17.x 版本,但是确没有 Docker 4.x……Docker 9.x …… Docker 16.x 等等版本。为什么会这个样子呢?
该笔记将记录:Docker 版本号的是如何变化的,以及相关问题的处理方法。
时间点:17.03.0-ce (2017-03-01)
从这个版本开始,Docker进入「月度发布」周期,并使用新的「YY.MM」版本控制方案来反映这一点。 提供两种渠道:「月度」和「季度」。
任何特定「月度版本」只会在下一个月度发布可用之前收到安全性和错误修正。
而「季度版本」在首次发布后的4个月内会收到安全性和错误修正。
另外Docker 17.03.0-ce版本包含1.13.1的错误修正,但没有主要功能添加,API版本保持不变,所以从Docker 1.13.1升级到17.03.0预计将是简单且低风险的。
关于版本选择
由于「季度版本」的支持时间更久,所以我们选用季度版本。季度版本的发版月份为 3、6、9、12 月,所以 Docker 版本号为 Docker x.03、Docker x.06、Docker x.09、Docker x.12 的格式,其中 x 代表主版本号。
on Debian GNU/Linux 10 (buster)
Install Docker Engine on Debian | Docker Documentation
#### 卸载旧版 systemctl stop docker.service # 18.09.1 apt-get remove docker.io runc #### 添加仓库 echo 'Acquire::ForceIPv4 "true";' | tee /etc/apt/apt.conf.d/99-force-ipv4 # 禁用 IPv6 解析 apt-get update apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" #### 安装服务 apt-get install docker-ce docker-ce-cli containerd.io #### 安装服务 for Debian 10 apt-get update apt-cache madison docker-ce # 查看版本 apt-get install -y docker-ce=5:19.03.13~3-0~debian-buster \ docker-ce-cli=5:19.03.13~3-0~debian-buster \ containerd.io #### 安装服务 for Debian 11 apt-get update apt-get install -y docker-ce=5:20.10.21~3-0~debian-bullseye \ docker-ce-cli=5:20.10.21~3-0~debian-bullseye \ containerd.io
on Ubuntu 18.04.4 LTS
Install Docker Engine on Ubuntu | Docker Documentation
Docker 19.03.12 on AMD64
# 移除旧版 apt-get remove docker docker-engine docker.io containerd runc # 添加官方仓库 apt-get update \ && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common \ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \ && apt-key fingerprint 0EBFCD88 \ && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 安装服务 apt-get update && apt-get install -y \ docker-ce=5:19.03.12~3-0~ubuntu-bionic \ docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic \ containerd.io # 服务自动启动 systemctl start docker.service systemctl enable docker.service systemctl status docker.service # 测试 docker run --rm hello-world
Docker 19.03.12 on ARM64
# 移除旧版 apt-get update && apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release # 添加官方仓库 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装服务 apt-get update && apt-get install -y \ docker-ce=5:19.03.12~3-0~ubuntu-bionic \ docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic \ containerd.io # 服务自动启动 systemctl start docker.service systemctl enable docker.service systemctl status docker.service # 测试 docker run --rm hello-world
on Ubuntu 20.04.4 LTS
Install Docker Engine on Ubuntu | Docker Documentation
适用于 Ubuntu 21.04 版本。
# 移除旧版 apt-get remove docker docker-engine docker.io containerd runc # 添加官方仓库 for AMD64 apt-get update \ && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common \ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \ && apt-key fingerprint 0EBFCD88 \ && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 添加官方仓库 for ARM64 apt-get update \ && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common \ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \ && apt-key fingerprint 0EBFCD88 \ && add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 安装服务 apt-get update && apt-get install -y \ docker-ce=5:20.10.1~3-0~ubuntu-focal \ docker-ce-cli=5:20.10.1~3-0~ubuntu-focal containerd.io # 服务自动启动 systemctl start docker.service systemctl enable docker.service systemctl status docker.service # 测试 docker run --rm hello-world
on CentOS 7.x
# 01/21/2019 Get Docker CE for CentOS
适用于:CentOS 7.0,CentOS 7.3, CentOS 7.6.18.10 (AltArch)
# 第一步、删除旧版本,并安装依赖 yum remove -y docker docker-client docker-client-latest docker-common \ docker-latest docker-latest-logrotate docker-logrotate docker-engine yum install -y yum-utils device-mapper-persistent-data lvm2 # 第二步、添加仓库并安装 Docker 服务 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce # yum install -y docker-ce-18.09.0 # 第三步、启动 Docker 服务 systemctl start docker systemctl enable docker # 第四步、验证 Docker 服务正确安装 docker run --rm hello-world docker -v
on Kylin 4.0.2
按照 Ubuntu 16.04 Xenial 安装:
deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu xenial stable
on Raspbian GNU/Linux 9.13 (stretch)
#### 卸载旧版 Docker 服务 apt-get remove docker.io runc #### 安装仓库 apt-get update apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #### 安装 Docker 服务 apt-get update apt-get install docker-ce docker-ce-cli containerd.io
on Kali Rolling
# 03/04/2019 在 Docker 官网上没有相应文档,毕竟这也不是个用于生产的发行版。而且就算 Kali 是 Debian 的衍生版,也不能用 Debian 的安装文档,因为有一个关键的地方是添加 Docker 官方源,这个地方是加不上去的。
所以只能直接从 Kali 仓库里中安装:
apt-get install docker.io systemctl start docker.service systemctl enable docker.service docker run hello-world
附加说明
在 windows 下,官方提供了二进制安装包,但本质上:安装是通过 virtualbox 软件安装 linux 虚拟机 ,再在虚拟机上部署的。所以,相当于在 windows 上装虚拟机 再在虚拟机上安装 docker 服务。
参考文献