Docker 安装
Ubuntu Docker 安装
Docker Engine-Community 支持以下的 Ubuntu 版本:
- Xenial 16.04 (LTS)
- Bionic 18.04 (LTS)
- Cosmic 18.10
- Disco 19.04
- 其他更新的版本……
Docker Engine - Community 支持上 x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
1 | sudo apt-get remove docker docker-engine docker.io containerd runc |
当前称为 Docker Engine-Community 软件包 docker-ce 。
安装 Docker Engine-Community,以下介绍两种方式。
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。
设置仓库
更新 apt 包索引。
1 | sudo apt-get update |
安装 apt 依赖包,用于通过HTTPS来获取仓库:
1 | sudo apt-get install \ |
添加 Docker 的官方 GPG 密钥:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
1 | sudo apt-key fingerprint 0EBFCD88 |
使用以下指令设置稳定版仓库
1 | sudo add-apt-repository \ |
安装 Docker Engine-Community
更新 apt 包索引。
1 | sudo apt-get update |
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
1 | sudo apt-get install docker-ce docker-ce-cli containerd.io |
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
1 | apt-cache madison docker-ce |
使用第二列中的版本字符串安装特定版本,例如 5:18.09.1
3-0ubuntu-xenial。
1 | sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io |
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
1 | sudo docker run hello-world |
使用 Shell 脚本进行安装
Docker 在 get.docker.com 和 test.docker.com 上提供了方便脚本,用于将快速安装 Docker Engine-Community 的边缘版本和测试版本。脚本的源代码在 docker-install 仓库中。 不建议在生产环境中使用这些脚本,在使用它们之前,您应该了解潜在的风险:
- 脚本需要运行 root 或具有 sudo 特权。因此,在运行脚本之前,应仔细检查和审核脚本。
- 这些脚本尝试检测 Linux 发行版和版本,并为您配置软件包管理系统。此外,脚本不允许您自定义任何安装参数。从 Docker 的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置。
- 这些脚本将安装软件包管理器的所有依赖项和建议,而无需进行确认。这可能会安装大量软件包,具体取决于主机的当前配置。
- 该脚本未提供用于指定要安装哪个版本的 Docker 的选项,而是安装了在 edge 通道中发布的最新版本。
- 如果已使用其他机制将 Docker 安装在主机上,请不要使用便捷脚本。
本示例使用 get.docker.com 上的脚本在 Linux 上安装最新版本的Docker Engine-Community。要安装最新的测试版本,请改用 test.docker.com。在下面的每个命令,取代每次出现 get 用 test。
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组:
1 | sudo usermod -aG docker your-user |
Debian Docker 安装
Docker 支持以下的 Debian 版本:
- Buster 10
- Stretch 9 (stable) / Raspbian Stretch
Docker Engine-Community 在 x86_64(或 amd64 )armhf,和 arm64 体系结构上受支持。
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine,如果已安装,请卸载它们:
1 | sudo apt-get remove docker docker-engine docker.io containerd runc |
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
Raspbian 用户不能使用此方法!
对于 Raspbian,尚不支持使用仓库进行安装。您必须改为使用 shell 脚本方式
设置仓库
更新 apt 包索引。
1 | sudo apt-get update |
安装 apt 依赖包,用于通过 HTTPS 来获取仓库。
1 | sudo apt-get install \ |
添加 Docker 的官方 GPG 密钥:
1 | curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - |
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
1 | sudo apt-key fingerprint 0EBFCD88 |
安装 Docker Engine-Community
更新 apt 包索引:
1 | sudo apt-get update |
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
1 | sudo apt-get install docker-ce docker-ce-cli containerd.io |
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
1 | apt-cache madison docker-ce |
使用第二列中的版本字符串安装特定版本,例如 5:18.09.1
3-0debian-stretch 。
1 | sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io |
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
1 | sudo docker run hello-world |
CentOS Docker 安装
Docker 支持以下的 64 位 CentOS 版本:
- CentOS 7
- CentOS 8
- 更高版本…
该 centos-extras 库必须启用。默认情况下,此仓库是启用的,但是如果已禁用它,则需要重新启用它。
建议使用 overlay2 存储驱动程序。
卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
1 | sudo yum remove docker \ |
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
1 | sudo yum install -y yum-utils \ |
使用以下命令来设置稳定的仓库(阿里云)
1 | sudo yum-config-manager \ |
安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
1 | sudo yum install -y docker-ce docker-ce-cli containerd.io |
如果提示您接受 GPG 密钥,请选是。
Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
注意:如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求
要安装特定版本
要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:
1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
1 | yum list docker-ce --showduplicates | sort -r |
2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
1 | sudo yum install -y docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io |
启动 Docker
1 | sudo systemctl start docker |
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。
1 | sudo docker run hello-world |
Windows Docker 安装
win7、win8 系统
win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址
安装比较简单,双击运行,点下一步即可,可以勾选自己需要的组件:
docker toolbox 是一个工具集,它主要包含以下一些内容:
- Docker CLI - 客户端,用来运行 docker 引擎创建镜像和容器。
- Docker Machine - 可以让你在 Windows 的命令行中运行 docker 引擎命令。
- Docker Compose - 用来运行 docker-compose 命令。
- Kitematic - 这是 Docker 的 GUI 版本。
- Docker QuickStart shell - 这是一个已经配置好Docker的命令行环境。
- Oracle VM Virtualbox - 虚拟机。
下载完成之后直接点击安装,安装成功后,桌边会出现三个图标,入下图所示:
点击 Docker QuickStart 图标来启动 Docker Toolbox 终端。
如果系统显示 User Account Control 窗口来运行 VirtualBox 修改你的电脑,选择 Yes。
$ 符号那你可以输入以下命令来执行。
1 | docker run hello-world |
Win10 系统
现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启 Hyper-V。
开启 Hyper-V
搜索应用和功能
点击打开,选择程序和功能
选择启用或关闭 Windows功能
选择开启Hyper-V
安装 Toolbox
最新版 Toolbox 下载地址: 访问 https://www.docker.com/get-started,注册一个账号,然后登录。
点击 Download for windows,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:
运行安装文件
双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。
安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。
桌边也会出现三个图标,入下图所示:
我们可以在命令行执行 docker version 来查看版本号,docker run hello-world 来载入测试镜像测试。
如果没启动,你可以在 Windows 搜索 Docker 来启动
Docker 镜像加速
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像
阿里云镜像获取镜像地址,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
之前还有 Docker 官方加速器 https://registry.docker-cn.com ,现在好像已经不能使用了,我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用个的镜像来拉取。
Ubuntu14.04、Debian7Wheezy
对于使用 upstart 的系统而言,编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:
1 | DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com" |
重新启动服务:
1 | sudo service docker restart |
Ubuntu16.04+、Debian8+、CentOS7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
1 | {"registry-mirrors":["https://reg-mirror.qiniu.com/"]} |
之后重新启动服务:
1 | sudo systemctl daemon-reload |
Windows 10
对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Daemon。在 Registrymirrors 一栏中填写加速器地址 https://registry.docker-cn.com ,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。
检查加速器是否生效
检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。
1 | docker info |
开启Docker自动补全
使用docker时无法自动补全镜像名和其他参数,这样使用效率大大降低,下面是解决方法
bash-complete
1 | yum install -y bash-completion |
刷新文件
1 | source /usr/share/bash-completion/completions/docker |
测试
输入
docker p
后docker会将可选项列出来
1 | docker p |