Docker 安装
Last Update:
Word Count:
Read Time:
CentOS Docker 安装
Docker 支持以下的 64 位 CentOS 版本:
- CentOS 7
- CentOS 8
- 更高版本…
使用官方安装脚本自动安装
安装命令如下:
1 |
|
也可以使用国内 daocloud 一键安装命令:
1 |
|
手动安装
卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
$ sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
安装 Docker Engine-Community
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
使用以下命令来设置稳定的仓库。
使用官方源地址(比较慢)
$ sudo yum-config-manager
–add-repo
https:**//download.docker.com/linux/centos/**docker-ce.repo
可以选择国内的一些源地址:
阿里云
$ sudo yum-config-manager
–add-repo
http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo
清华大学源
$ sudo yum-config-manager
–add-repo
https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo
安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
1 |
|
如果提示您接受 GPG 密钥,请选是。
有多个 Docker 仓库吗?
如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。
Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:
1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
$ yum list docker-ce –showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
1 |
|
启动 Docker。
1 |
|
通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 。
1 |
|
卸载 docker
删除安装包:
1 |
|
删除镜像、容器、配置文件等内容:
1 |
|
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)架构。
使用官方安装脚本自动安装
安装命令如下:
1 |
|
也可以使用国内 daocloud 一键安装命令:
1 |
|
手动安装
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
1 |
|
当前称为 Docker Engine-Community 软件包 docker-ce 。
安装 Docker Engine-Community,以下介绍两种方式。
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。
设置仓库
更新 apt 包索引。
1 |
|
安装 apt 依赖包,用于通过HTTPS来获取仓库:
$ sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
添加 Docker 的官方 GPG 密钥:
1 |
|
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown**]** Docker Release (CE deb) <**docker**@**docker.com**>
sub rsa4096 2017-02-22 [S]
使用以下指令设置稳定版仓库
$ sudo add-apt-repository
“deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ ** $(lsb_release -cs) ** stable”
安装 Docker Engine-Community
更新 apt 包索引。
1 |
|
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
1 |
|
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
$ apt-cache madison docker-ce
docker-ce | 5:18.09.13-0ubuntu-xenial | https:**//mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:18.09.03-0ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.1ce3-0~ubuntu | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.0ce3-0~ubuntu | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu xenial/**stable amd64 Packages
…
使用第二列中的版本字符串安装特定版本,例如 5:18.09.13-0ubuntu-xenial。
1 |
|
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
$ sudo docker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
- The Docker client contacted the Docker daemon.
- The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64) - The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading. - The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
使用 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 |
|
如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组:
1 |
|
卸载 docker
删除安装包:
1 |
|
删除镜像、容器、配置文件等内容:
1 |
|
Debian Docker 安装
Docker 支持以下的 Debian 版本:
- Buster 10
- Stretch 9 (stable) / Raspbian Stretch
Docker Engine-Community 在 x86_64(或 amd64 )armhf,和 arm64 体系结构上受支持。
使用官方安装脚本自动安装
安装命令如下:
1 |
|
也可以使用国内 daocloud 一键安装命令:
1 |
|
手动安装
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine,如果已安装,请卸载它们:
1 |
|
安装 Docker Engine-Community
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
Raspbian 用户不能使用此方法!
对于 Raspbian,尚不支持使用仓库进行安装。您必须改为使用 shell 脚本方式。
设置仓库
更新 apt 包索引。
1 |
|
安装 apt 依赖包,用于通过 HTTPS 来获取仓库。
$ sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg2
software-properties-common
添加 Docker 的官方 GPG 密钥:
1 |
|
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
使用以下指令设置稳定版仓库:
$ sudo add-apt-repository
“deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian ** $(lsb_release -cs) ** stable”
安装 Docker Engine-Community
更新 apt 包索引:
1 |
|
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
1 |
|
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
$ apt-cache madison docker-ce
docker-ce | 5:18.09.13-0debian-stretch | https:**//mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 5:18.09.03-0debian-stretch | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.1ce3-0~debian | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/stable amd64 Packages
docker-ce | 18.06.0ce3-0~debian | https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch/**stable amd64 Packages
…
使用第二列中的版本字符串安装特定版本,例如 5:18.09.13-0debian-stretch 。
1 |
|
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
$ sudo docker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
- The Docker client contacted the Docker daemon.
- The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64) - The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading. - The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
卸载 docker
删除安装包:
1 |
|
删除镜像、容器、配置文件等内容:
1 |
|
Windows Docker 安装
Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。
Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
因此,Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。
在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker。
Win10 系统
Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。
Docker Desktop 官方下载地址: https://docs.docker.com/desktop/install/windows-install/
注意:此方法仅适用于 Windows 10 操作系统专业版、企业版、教育版和部分家庭版!
安装 Hyper-V
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。
但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
开启 Hyper-V
程序和功能
启用或关闭Windows功能
选中Hyper-V
也可以通过命令来启用 Hyper-V ,请右键开始菜单并以管理员身份运行 PowerShell,执行以下命令:
1 |
|
安装 Docker Desktop for Windows
点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:
运行安装文件
双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。
安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。
桌边也会出现三个图标,如下图所示:
我们可以在命令行执行 docker version 来查看版本号,docker run hello-world 来载入测试镜像测试。
如果没启动,你可以在 Windows 搜索 Docker 来启动:
启动后,也可以在通知栏上看到小鲸鱼图标:
如果启动中遇到因 WSL 2 导致地错误,请安装 WSL 2。
安装之后,可以打开 PowerShell 并运行以下命令检测是否运行成功:
1 |
|
在成功运行之后应该会出现以下信息:
win7、win8 系统
win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/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 |
|
MacOS Docker 安装
使用 Homebrew 安装
macOS 我们可以使用 Homebrew 来安装 Docker。
Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
1 |
|
在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标()。
手动下载安装
如果需要手动下载,请点击以下链接下载 Install Docker Desktop on Mac 。
如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。
从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。
点击顶部状态栏中的鲸鱼图标会弹出操作菜单。
第一次点击图标,可能会看到这个安装成功的界面,点击 “Got it!” 可以关闭这个窗口。
启动终端后,通过命令可以检查安装后的 Docker 版本。
1 |
|
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
之后我们可以通过 docker info 来查看是否配置成功。
1 |
|
Docker 镜像加速
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
之前还有 Docker 官方加速器 https://registry.docker-cn.com ,现在好像已经不能使用了,我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用个的镜像来拉取。
Ubuntu14.04、Debian7Wheezy
对于使用 upstart 的系统而言,编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:
1 |
|
重新启动服务:
1 |
|
Ubuntu16.04+、Debian8+、CentOS7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
1 |
|
之后重新启动服务:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
Windows 10
对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Daemon。在 Registrymirrors 一栏中填写加速器地址 https://docker.mirrors.ustc.edu.cn/ ,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。
Mac OS X
对于使用 Mac OS X 的用户,在任务栏点击 Docker for mac 应用图标-> Perferences…-> Daemon-> Registrymirrors。在列表中填写加速器地址 https://reg-mirror.qiniu.com 。修改完成之后,点击 Apply&Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
检查加速器是否生效
检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。
1 |
|