在您喜爱的操作系统上安装 Docker 的详细指南
Docker 是一款开源项目,它允许您在独立的、可移植的容器中构建、测试、部署和管理应用程序。通常,容器镜像会包含应用程序运行所需的一切资源。
如今,Docker 已成为部署和管理容器化应用程序的热门工具,有效解决了兼容性问题。这项技术使得您可以在各种计算机上安装应用程序和服务,而无需考虑底层硬件和操作系统。只要安装了 Docker,您就可以在任何系统上运行这些镜像。常见的镜像包括 Nginx、MariaDB、WordPress 等。
Docker 与传统的虚拟机(VM)有所不同。
本教程将指导您如何在以下操作系统上安装 Docker:
- Ubuntu
- Debian
- CentOS
- Windows
在大多数情况下,不同操作系统的安装步骤类似,但具体版本之间可能会存在一些细微的差异。
Docker 安装方法
通常,Docker 的安装主要有三种方式,您可以根据实际情况和环境选择合适的方法。具体如下:
- 使用 Docker 仓库: 这是最常用的方法,易于安装和升级,适用于大多数在线安装场景。
- 手动下载、安装、升级: 适用于无法连接网络的离线计算机。
- 使用自动化脚本: 通常用于开发和测试环境。
在本指南中,我们将重点介绍使用 Docker 仓库进行安装的方法。您将学习如何从官方 Docker 仓库安装和升级该工具。虽然也可以从操作系统的仓库下载 Docker,但这样做可能无法获得最新版本,因此最好尽可能使用官方 Docker 源。
在 Ubuntu 上安装 Docker
本文中,我们以 Ubuntu 18.04 为例进行说明。
准备工作
第一步:更新本地软件数据库
在安装之前,首先更新您现有的软件包列表:
sudo apt update
第二步:安装 HTTPS 支持的依赖项
安装允许 apt 通过 HTTPS 传输文件的软件包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
这些命令的作用如下:
apt-transport-https
:允许 apt 通过 HTTPS 传输文件和数据。ca-certificates
:使计算机或浏览器能够检查安全证书。curl
:用于文件传输的工具。software-properties-common
:添加软件管理脚本。
第三步:添加 Docker 的 GPG 密钥
下一步是添加 GPG 密钥,这是一种确保安装文件真实性的安全机制。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
第四步:安装 Docker 仓库
在此步骤中,使用以下命令将 Docker 仓库添加到 apt 源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
第五步:更新软件包仓库
使用刚添加的 Docker 仓库更新软件数据库:
sudo apt update
为了确保您是从官方 Docker 仓库进行安装,请运行以下命令:
apt-cache policy docker-ce
这将输出类似以下内容:
apt-cache policy docker-ce
的输出示例:
docker-ce: Installed: (none) Candidate: 5:19.03.5~3-0~ubuntu-bionic Version table: 5:19.03.5~3-0~ubuntu-bionic 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 5:19.03.4~3-0~ubuntu-bionic 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 5:19.03.3~3-0~ubuntu-bionic 500
从输出可以看出,docker-ce
尚未安装。但是,输出会显示目标操作系统和 Docker 的版本号。请注意,版本号可能会因安装时间而有所不同。
第六步:安装最新版本的 Docker
确认后,使用以下命令安装 Docker:
sudo apt install docker-ce
这将安装 Docker,启动守护进程,并将其设置为在启动时自动启动。要确认 Docker 处于活动状态并正在运行,请执行以下命令:
sudo systemctl status docker
如果安装和运行成功,该命令将提供如下输出:
$ sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e Active: active (running) since Sat 2019-12-14 07:46:40 UTC; 50s ago Docs: https://docs.docker.com Main PID: 2071 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service └─2071 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
这部分输出显示安装成功,Docker 处于活动状态并正在运行。
在 CentOS 上安装 Docker
准备工作
- CentOS 7 的稳定版本
- 拥有 sudo 权限的用户
最佳实践是从官方 Docker 仓库安装最新版本的 Docker 包。
第一步:更新软件包数据库
第一步是使用以下命令更新软件包数据库:
sudo yum update
第二步:添加 Docker 仓库并安装 Docker
更新完成后,我们将添加官方 Docker 仓库,并下载并安装最新版本的 Docker。为此,请使用以下命令:
curl -fsSL https://get.docker.com/ | sh
第三步:启动 Docker 并检查其版本
安装完成后,启动 Docker 守护进程:
sudo systemctl start docker
确认 Docker 正在运行:
sudo systemctl status docker
这应该提供如下输出:
docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-09 09:54:50 UTC; 7s ago Docs: https://docs.docker.com Main PID: 9194 (dockerd) Tasks: 8 Memory: 44.0M CGroup: /system.slice/docker.service └─9194 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...
在 Debian 上安装 Docker
为了确保您获得最新版本,请从官方 Docker 仓库安装。
准备工作
第一步:更新系统
首先,更新已安装软件包的列表:
sudo apt update
第二步:安装通过 HTTPS 运行 apt 所需的软件包
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
第三步:添加 GPG 密钥
现在,我们需要将 Docker 的 GPG 密钥添加到我们的 Debian 系统。 这确保了下载内容的有效性。
要为官方 Docker 仓库添加 GPG 密钥,请运行:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
第四步:将 Docker 仓库添加到 APT 源
在此步骤中,您将 Docker 仓库添加到 apt 源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
第五步:更新软件包数据库
现在,我们将使用刚刚添加的仓库中的 Docker 软件包更新软件包数据库:
sudo apt update
第六步:验证安装源
以下命令可确保您从官方 Docker 仓库安装 Docker,而不是从可能已过时的 Debian 仓库安装:
apt-cache policy docker-ce
这将返回类似下面的输出。 但是,Docker 的版本号可能会有所不同:
Installed: (none) Candidate: 5:19.03.5~3-0~debian-stretch Version table: 5:19.03.5~3-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages 5:19.03.4~3-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages 5:19.03.3~3-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages 5:19.03.2~3-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages .. .. .. 17.03.1~ce-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages 17.03.0~ce-0~debian-stretch 500 500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
可以看出,docker-ce
还没有安装。输出显示安装来自 Debian 9 (stretch) 的官方 Docker 仓库。
第七步:安装 Docker
现在我们准备使用以下命令安装 Docker:
sudo apt install docker-ce
这将安装 Docker,启动引擎,并将其配置为始终在启动时启动。安装完成后,验证它是否正在运行:
sudo systemctl status docker
如果安装成功,输出将指示服务处于活动状态并正在运行。
输出示例:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e Active: active (running) since Mon 2019-12-09 11:48:32 UTC; 41s ago Docs: https://docs.docker.com Main PID: 17486 (dockerd) CGroup: /system.slice/docker.service └─17486 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
在 Windows 上安装 Docker
接下来,让我们看看如何在 Windows Server 2016 上安装 Docker 企业版。
第一步:安装 Docker PowerShell 模块
使用管理员帐户打开 Windows 的 PowerShell 命令提示符,然后使用以下命令安装 DockerMsftProvider 模块。这是一个用于查找、安装和更新 Docker 镜像的 Docker PowerShell 模块。
如果使用管理员帐户,该命令将显示为:
PS C:UsersAdministrator> install-module -name DockerMsftProvider -Force
这将给出如下输出:
NuGet provider is required to continue PowerShellGet requires NuGet provider version ‘2.8.5.201’ or newer to interact with NuGet-based repositories. The NuGet provider must be available in ‘C:Program FilesPackageManagementProviderAssemblies’ or ‘C:UsersAdministratorAppDataLocalPackageManagementProviderAssemblies’. You can also install the NuGet provider by running ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’. Do you want PowerShellGet to install and import the NuGet provider now? [Y] Yes [N] No [S] Suspend [?] Help (default is “Y”): y Type Y for Yes
第二步:安装 Docker 包
模块安装完成后,我们现在准备安装 Docker 包:
PS C:UsersAdministrator>Install-Package Docker –Providername DockerMsftProvider –Force
这将在计算机上安装 Docker 包,但不会启动服务。因此,您必须重新启动计算机才能启用容器功能。
PS C:UsersAdministrator>Restart-Computer
重启后,通过运行以下命令验证安装和版本:
PS C:UsersAdministrator>docker-version
输出示例:
Client: Docker Engine – Enterprise Version: 19.03.5 API version: 1.40 Go version: go1.12.12 Git commit: 2ee0c57608 Built: 11/13/2019 08:00:16 OS/Arch: windows/amd64 Experimental: false Server: Docker Engine – Enterprise Engine: Version: 19.03.5 API version: 1.40 (minimum version 1.24) Go version: go1.12.12 Git commit: 2ee0c57608 Built: 11/13/2019 07:58:51 OS/Arch: windows/amd64 Experimental: false PS C:UsersAdministrator>
要使用典型镜像测试 Docker,请运行以下命令:
docker run hello-world:nanoserver-sac2016
如果安装并正常运行,该命令将给出如下输出:
PS C:UsersAdministrator> docker run hello-world:nanoserver-sac2016 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the “hello-world” image from the Docker Hub. (windows-amd64, nanoserver-sac2016) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run a Windows Server container with: PS C:> docker run -it mcr.microsoft.com/windows/servercore powershell 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/
请注意,您必须默认使用 Windows 容器镜像。如果您需要运行 Linux 容器镜像,请在实验模式下使用 Docker Daemon,该模式在桌面版本中可用。
总结
希望您现在了解安装 Docker 是多么容易。安装后,不妨亲自尝试一下以熟悉它的用法。如果您需要视频教程,可以查看这个课程。