预计阅读时间: 11分钟linux
要开始在 Debian 上使用 Docker Engine - Community ,请确保您 知足先决条件 ,而后 安装Docker 。git
要安装 Docker Engine - Community ,您须要如下 Debian 或 Raspbian 版本之一的64位版本:github
Docker Engine - Community 在 x86_64
(或 amd64
) armhf
,和 arm64
体系结构上受支持。docker
Docker 的旧版本被称为 docker
,docker.io
或 docker-engine
。若是已安装,请卸载它们:shell
$ sudo apt-get remove docker docker-engine docker.io containerd runc
若是 apt-get
报告未安装这些软件包, 也不要紧 。网络
的内容( /var/lib/docker/
包括图像,容器,卷和网络)被保留。如今称为 Docker Engine - Community 软件包 docker-ce
。less
保存在 /var/lib/docker/
中的内容,包括映像、容器、卷和网络。 Docker Engine - Community 包如今称为 docker -ce
。curl
您能够根据须要以不一样的方式安装 Docker Engine - Community:post
在新主机上首次安装 Docker Engine - Community 以前,须要设置 Docker 存储库。以后,您能够从存储库安装和更新 Docker 。测试
Raspbian 用户不能使用此方法!
对于Raspbian,尚不支持使用存储库进行安装。您必须改成使用 便捷脚本 。
更新 apt
包索引:
$ sudo apt-get update
安装软件包以容许 apt
经过 HTTPS 使用存储库:
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common
添加 Docker 的官方 GPG 密钥:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
经过搜索指纹 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
的后8个字符,验证您如今是否拥有带有指纹的密钥 。
$ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
使用如下命令来设置 稳定的 存储库。要添加 nightly 或 test存储库,请在如下命令中的单词后面添加nightly
或test
(或二者)stable
。了解 nightly 和 test 频道。
注意:下面的
lsb_release -cs
子命令返回 Debian 发行版的名称,例如helium
。有时,在诸如 BunsenLabs Linux 的发行版中,您可能须要更改$(lsb_release -cs)
为父 Debian 发行版。例如,若是您使用BunsenLabs Linux Helium
,则可使用stretch
。 Docker 对未经测试和不受支持的 Debian 发行版不提供任何保证。
x86_64 / amd64
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
armhf
$ sudo add-apt-repository \ "deb [arch=armhf] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
arm64
$ sudo add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
注意:此过程适用于
x86_64
/amd64
,Debian ARM 或Raspbian 上的 Debian 。
更新 apt
包索引。
$ sudo apt-get update
安装最新版本的 Docker Engine - Community 和 containerd ,或者转到下一步安装特定版本:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
有多个Docker存储库吗?
若是您启用了多个Docker存储库,则在未在
apt-get install
orapt-get update
命令中指定版本的状况下进行安装或更新将始终安装可能的最高版本,这可能不适合您的稳定性需求。
要安装 特定版本 的 Docker Engine - Community ,请在存储库中列出可用版本,而后选择并安装:
a. 列出您的仓库中可用的版本:
$ apt-cache madison docker-ce docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 18.06.1~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 18.06.0~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages ...
b. 使用第二列中的版本字符串安装特定版本,例如 5:18.09.1~3-0~debian-stretch
。
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
经过运行 hello-world
映像来验证是否正确安装了 Docker Engine - Community 。
$ sudo docker run hello-world
此命令下载测试镜像并在容器中运行它。容器运行时,它会打印参考消息并退出。
Docker Engine - Community 已安装并正在运行。该 docker
组已建立,但未添加任何用户。您须要使用 sudo
来运行 Docker 命令。继续进行 Linux后安装 ,以容许非特权用户运行Docker命令以及其余可选配置步骤。
要升级 Docker Engine-Community ,请先运行 sudo apt-get update
,而后按照 安装说明进行操做,选择要安装的新版本。
若是您不能使用Docker的存储库来安装Docker Engine - Community,则能够下载该 .deb
版本的 文件并手动安装。每次升级Docker时,都须要下载一个新文件。
转到https://download.docker.com/linux/debian/dists/
,选择您的 Debian 版本,浏览至 pool/stable/
,选择 amd64
、 armhf
或 arm64
下载 .deb
要安装的 Docker Engine - Community 版本的文件。
注意:要安装 nightly 软件包,
stable
请将URL中的单词更改 为nightly
。 了解 nightly 和 test 频道。
安装 Docker Engine - Community ,将下面的路径更改成您下载 Docker 软件包的路径。
$ sudo dpkg -i /path/to/package.deb
Docker 守护程序会自动启动。
经过运行 hello-world
映像来验证是否正确安装了 Docker Engine - Community 。
$ sudo docker run hello-world
此命令下载测试图像并在容器中运行它。容器运行时,它会打印参考消息并退出。
Docker Engine - Community 已安装并正在运行。该 docker
组已建立,但未添加任何用户。您须要使用 sudo
来运行 Docker 命令。继续 执行Linux的安装后步骤 ,以容许非特权用户运行 Docker 命令以及其余可选配置步骤。
要升级 Docker Engine - Community ,请下载较新的软件包文件,而后重复 安装过程 ,指向新文件。
Docker 在 get.docker.com 和 test.docker.com上 提供了便利脚本,用于将 Docker Engine-Community 的边缘版本和测试版本快速且非交互地安装到开发环境中。脚本的源代码在 docker-install
存储库中 。 不建议在生产环境中使用这些脚本,在使用它们以前,您应该了解潜在的风险:
root
或具备 sudo
特权。所以,在运行脚本以前,应仔细检查和审核脚本。本示例使用 get.docker.com 上的脚本在Linux上安装最新版本的 Docker Engine-Community 。要安装最新的测试版本,请改用 test.docker.com 。在下面的每一个命令,用 test
取代每次出现 get
。
警告:
在本地运行它们以前,请务必检查从 Internet 下载的脚本。
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh <output truncated>
若是您想以非 root 用户身份使用 Docker ,则如今应考虑使用相似如下方式将用户添加到 “docker” 组:
sudo usermod -aG docker your-user
请记住注销并从新登陆才能生效!
警告:
将用户添加到“docker”组后,他们能够运行容器,该容器可用于在Docker主机上得到root特权。 有关更多信息,请参考 Docker Daemon Attack Surface 。
Docker Engine-Community 已安装。它会自动在 DEB
基于发行版的系统上启动。在 RPM
基于发行版的系统上,您须要使用相应的 systemctl
或 service
命令手动启动它 。如消息所示,默认状况下,非 root 用户不能运行 Docker 命令。
注意事项:
要安装没有 root 特权的 Docker ,请参阅 以非root用户身份运行Docker守护程序(无根模式) 。
无根模式目前可做为实验功能。
若是使用便捷脚本安装了 Docker ,则应直接使用包管理器升级 Docker 。从新运行便利程序脚本没有任何好处,若是尝试从新添加已经添加到主机的存储库,则可能致使问题。
卸载 Docker Engine-Community 软件包:
$ sudo apt-get purge docker-ce
主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除全部图像、容器和卷:
$ sudo rm -rf /var/lib/docker
您必须手动删除全部已编辑的配置文件。