在上一篇 Docker简介中,我们介绍了Docker的概念、优势以及Docker结构,也提到了Docker是基于Linux
系统的cgroup
技术实现的,既然如此,那么Docker是否支持非Linux系统上使用呢?答案是肯定的。Docker官方提供了Docker Machine
工具,用于在非Linux系统上构建虚拟机并在其上安装Docker;Docker官方还提供了Docker Toolbox
工具包,用来在旧版本的操作系统上安装Docker;另外,Docker还专门针对Windows和Mac OS,提供了更简单易用的Docker Desktop,用来一键安装Docker及其相关组件。\n
在本篇,我们将来看看如何在Linux、Mac OS和Windows上安装Docker。\n
本篇安装的docker版本在最新的18.09 版本,后续的docker入门系列文章都是基于该版本。 |
1. Ubuntu上安装Docker
1.1. 系统要求
Docker要求安装与64位的Ubuntu,版本要求如下:
Cosmic 18.10
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)
Docker支持的架构包括:x86_64 (或amd64), armhf, arm64, s390x (IBM Z), and ppc64le (IBM Power)。
测试Linux服务器为Ubuntu,版本为16.04
,Ubuntu发布代码为xenial
,其他版本的Linux就不做实践了:
root@ubuntu:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
1.2. 准备工作
1、卸载旧版本
如果原来安装过旧版本的docker,需要先卸载之:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
旧版本的docker在Ubuntu的镜像仓库中名为docker.io,docker-io包是Debian/Ubuntu用于官方docker发布的名称,不叫docker的原因在于,避免与Ubuntu的docker system-tray二进制文件发生名称冲突。在新版本的docker中,docker已经区分为docker-ce和docker-ee版本,在安装新版本的docker时,需要先卸载旧版本docker。 |
2、添加仓库地址
安装前,需要先将docker官方安装地址加入到Ubuntu apt地址库中。
(1)更新package索引
apt-get update
(2)安装apt使用https所需依赖
apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
(3)添加官方DockerGPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
检查指纹:
root@ubuntu:~# 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
成功则输出以上信息。
(4)添加仓库地址
add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
到此,准备工作完成。
1.3. 安装docker
按照以下步骤安装docker:
1、更新仓库索引
apt-get update
2、安装最新的版本
apt-get install docker-ce docker-ce-cli containerd.io
下载的文件有几百兆,耐心等待一会儿。
安装指定版本? 如果需要安装指定的版本,需要先找出可用版本: apt-cache madison docker-ce 然后,安装特定版本: apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io 记得将VERSION_STRING替换为目标版本号。 |
3、验证docker安装是否成功
运行如下命令验证docker是否安装成功:
docker run hello-world
它会下载docker默认自带的测试镜像并且运行它,控制台成功输出Hello from Docker,说明docker安装成功。
1.4. 基于安装包安装
上边是官方推荐的使用Ubuntu仓库安装的方式,也可以下载docker的安装包来进行安装。
1、下载安装包
浏览器打开 https://download.docker.com/linux/ubuntu/dists/,选择pool/stable目录,根据系统架构选择amd64, armhf, arm64, ppc64el, 或 s390x目录。然后下载所需版本的安装包,包括container.io
、docker-ce-cli
、docker-ce
安装包:
2、分别安装已下载的安装包:
dpkg -i /path/to/package.deb
3、查看安装结果
docker run hello-world
Ubuntu上安装过程就介绍到这里,这里我们仅安装的docker服务程序、docker-cli,并没有安装docker-machine、docker-compose等工具,后续用到的时候再介绍。对于Mac OS和windows操作系统,Docker官方提供了一键安装包,能够一键安装docker服务程序以及其工具组件。
接下来,我们看看如何使用一键安装包在Mac和Windows上安装docker。
实践的Mac OS和Windows都符合Docker安装的系统要求,对于不满足要求的旧版本系统,需要用到Docker toolbox和Docker machine,不过笔者这里没有实践,所以不做介绍。 |
2. Mac OS上安装Docker
我们看看如何使用Docker Desktop for Mac来安装docker及其相关组件。
2.1. 系统要求
Mac硬件必须是2010或更新型号,Intel支持内存管理单元(MMU)虚拟化,包括扩展页表(EPT)和无限制模式。您可以通过在终端中运行以下命令来检查您的计算机是否具有此支持:
sysctl kern.hv_support
如果支持则会输出kern.hv_support: 1。
支持macOS Sierra 10.12和更高的macOS版本
点击左上角苹果图标,选择关于本机可以查看您的系统信息。
至少4GB的RAM
不支持使用版本4.3.30之前的VirtualBox版本(它与Docker Desktop for Mac不兼容)
2.2. 安装Docker
1、下载安装包
2、双击Docker.dmg
打开安装程序,然后将Moby the whale拖到Applications文件夹,如下图所示:
3、双击Docker.appApplications文件夹以启动Docker
稍作等待,Docker.app启动后,系统会提示您使用系统密码进行授权,需要管理员权限访问才能安装网络组件和Docker应用程序,然后就可以看到Docker的鲸鱼图标在状态栏显示,点击该图标可以看到docker的运行状态和一些操作菜单:
点击About Docker Desktop,可以查看已经安装的docker组件及其版本号信息:
当然,也可以启动终端控制台,输入docker version
,可以查看docker详细版本信息。
到此,Mac OS上Docker安装完成。
3. Windows上安装Docker
在Windows上安装Docker稍微有点麻烦,除了系统和硬件有一定的要求外,还可能涉及硬件兼容性问题,我们看看如何使用Docker Desktop for Windows来安装docker及其相关组件。
3.1. 系统要求
Windows 10 64位:专业版,企业版或教育版(Build 15063或更高版本)
在BIOS中启用虚拟化
CPU具有SLAT [2] 功能。
至少4GB的RAM。
如果您的系统不满足上述要求,那么您不能安装Docker Desktop for Windows,只能安装Docker Toolbox,它使用Oracle的Virtual Box虚拟机来代替微软的Hyoer-V虚拟机。
老的Docker Toolbox和Docker Machine用户:Docker Desktop for Windows需要微软的Hyper-V虚拟机来运行,Docker Desktop for Windows安装程序会为您启用Hyper-V,并重新启动计算机。启用Hyper-V后,原来已安装的VirtualBox不再起作用,但仍保留已有VirtualBox VM映像。原docker-machine创建的VirtualBox VM (如default vm )不再启动,它们不能与Docker Desktop for Windows共存。但是,您仍可以使用它 docker-machine来管理远程VM。 另外,在windows已安装的虚拟机(如VMWare)上安装Docker可能成功,但是官方并不推荐,如果系统不支持,官方更推荐使用Docker Toolbox来安装Docker。 |
3.2. 安装Docker
Docker Desktop for Windows安装包括一下组件:Docker Engine、Docker CLI client、Docker Compose、Docker Machine和kitematic。另外需要注意,创建的容器和镜像将在Windows系统的所有用户中共享,因为所有用户共享windows虚拟机。
1、下载Docker Desktop for Windows
从 https://hub.docker.com/editions/community/docker-ce-desktop-windows下载Docker Desktop for Windows,得到Docker for Windows Installer.exe
安装包。
2、双击安装包安装,按步骤安装即可
3、安装完成后,会提示启用Hyper-V [3] 虚拟机:
选择ok即可,稍后会重启计算机。
4、启用CPU虚拟化
打开任务管理器,点击性能标签页,点击CPU,可以查看CPU虚拟化是否启用:
如果显示已禁用,那么先要启用CPU虚拟化,否则启动Docker会出现如下的错误:
修改BIOS,启用虚拟化:
(1)启动计算时,按住DEL键或者F2键(具体视主板而定),进入BIOS设置,找到CPU配置选项,比如我的:
(2)点开CPU配置,找到虚拟化选项,改为启用:
最后按F10保存,计算机会重启,CPU虚拟化启动完成。
完成,点击桌面或开始菜单的Docker Desktop图标启动Docker,成功后状态栏会有Docker的图标:
点击About Docker Desktop,可以看到已安装的各个组件的版本信息:
当然,您也可以启动CMD,输入docker version,可以查看docker的版本信息,或者输入docker run hello-world,运行docker测试镜像,来验证docker是否安装成功。
至此,Windows上docker已经安装完成。
4. Docker管理
我们重点来介绍一下Ubuntu上Docker的管理,Mac OS和Windows均可以通过可视化界面操作,就不详细介绍了。
1、查看运行状态
service docker status
2、停止docker
service docker stop
3、启动docker
service docker start
4、重启docker
service docker restart
5、版本查看
docker version
此时输出docker服务程序和docker cli的版本号
docker --version
输出简短版本信息
5. 总结
尽管Docker大部分应用都在Linux系统中,但是也支持在Mac OS和Windows系统中安装docker,还提供了一键安装包,对于以学习为目的的用户来说非常方便。