首页 > 编程笔记

Docker下载和安装教程

容器是一种轻量级虚拟技术。相较于虚拟机来说,容器效率更高,启动速度更快,但隔离效果稍微差一些。Docke 是一种开源的容器引擎,由 Docker 公司开发,但是其遵循 Apache 2.0 开源协议。

目前几乎所有的互联网公司都将自己的应用程序打包进 Docker,然后发布出去。像以前那种在物理机器上安装部署软件的方式已经比较少见了。Docker 可以大大简化运维的工作量,几乎已经成为了软件发布的默认方式。相信在未来很长一段时间内,Docker 还会是运维的主流技术。

Docker 目前可以在 Linux、macOS 和 Windows 10 系统上运行,并且在不同系统上的安装方式和运行方式也有所不同。

Docker 目前分为两个版本,一个是社区版(CE,Community Edition),免费的;另外一个是企业版(EE,Enterprise Edition),该版本是收费的。社区版的 Docker 就可以满足我们日常的需求。

Linux平台安装Docker

在 Linux 上安装 Docker 相对比较简单,只需要执行几个命令即可。例如在 Ubuntu 下安装 Docker 的命令如下:

$ sudo apt install docker.io

在安装完成后,可以通过执行下面的命令来检测安装是否成功。

$ sudo docker --version
Docker version 17.12.1-ce, build 7390fc6        # 安装的是CE版的

默认情况下 Docker 命令需要 sudo 权限,为了免去强制使用 sudo 的麻烦,可以将当前用户加入到 Docker 组中,这样就不必每次都需要使用 sudo 来执行 Docker 操作。下面是加入 Docker 组的命令:

$ sudo gpasswd -a $USER docker                    # 将自己加入Docker组
Adding user lovepython to group docker

修改了用户后还需要重启 Docker 服务,命令如下:

$ sudo systemctl restart docker                    # 重启服务

最后要求用户重新登录。如果是远程登录,那么首先在 bash 中执行 exit 命令退出登录,然后重新登录就可以了,这样再使用 Docker 命令就不需要强制使用 sudo 了。

在 Linux 下使用 Docker 也是我们推荐的方式。

MacOS平台安装Docker

MacOS 平台上的安装和其他软件的安装类似。首先需要下载安装包,然后使用常规的方法进行安装(就是将Docker拖动到应用程序目录下)。目前官方的安装包下载地址是 https://download.docker.com/mac/stable/Docker.dmg,要求 MacOS 的最低版本是 10.12。

安装完成后,可以看到如图 1 所示的图标。

Docker应用的图标
图 1 Docker应用的图标

双击该图标即可启动 Docker 服务。启动后可以在屏幕的右上角看到类似图 1 的图标,这表明 Docker 服务已经启动,使用鼠标单击该图标,可以看到弹出的菜单项,如重启服务、退出服务等。

Windows平台安装Docker

Windows 下的安装和其他应用程序类似,但要求操作系是 Window 10 64 位专业版。目前其官方下载地址如下:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe,下载后双击安装文件即可进行安装。

由于 Docker 本身用到了很多 Linux 内核独特的技术,所以从本质上来讲,Docker 只能运行在 Linux 系统上。为了解决 Docke r在 Windows 和 macOS 上运行的问题,Docker 采用了一种变通的方法,它在这两种操作系统上安装了一个 Linux 虚拟机,然后让 Docker 运行在该虚拟机上。

图 2 给出了在 Windows 和 macOS 操作系统上的 Docker 系统架构。

Docker 在 Windows 和 macOS 上的架构
图 2 Docker 在 Windows 和 macOS 上的架构

从图 2 可以看出,最底层是 Windows 和 macOS 操作系统,在该系统上运行虚拟机引擎,并且创建了一个 alpine Linux 虚拟机,然后在该虚拟机上安装了 Docker 引擎。从图 2 很容易看出这个架构的效率不会太高,所以 Docker 的最大优势“高效”就不能完全发挥出来。这也是为何我们推荐在 Linux 下使用 Docker,尤其在 Ubuntu 上使用 Docker 的原因。

优秀文章