写点什么

【深入浅出 Docker 原理及实战】「Docker 安装说明」零基础 + 全方位带你学习探索 Docker 容器开发实战指南(Ubuntu、Debian)

作者:洛神灬殇
  • 2023-06-27
    江苏
  • 本文字数:3863 字

    阅读完需:约 13 分钟

【深入浅出Docker原理及实战】「Docker安装说明」零基础+全方位带你学习探索Docker容器开发实战指南(Ubuntu、Debian)

安装 Docker

Docker 中的容器是一种轻量级的虚拟化技术,它基于镜像运行并具有自己的状态。下面是 Docker 容器的安装操作。


Docker 有三种更新频道:stable、test 和 nightly。官方网站提供了各种环境下的安装指南,主要包括 Linux、Windows 10 和 macOS。



这里我们侧重点去介绍和分析说明对应的不同场景下的 Linux 的安装说明和操作手册。

Ubuntu 操作系统

Ubuntu 是一个基于 Debian 的开源 Linux 操作系统,通过简单易用的界面和全球范围内的大量用户和开发者社区得到广泛应用。它是一个免费的、开源的操作系统,支持桌面和服务器应用。


官方网站:https://ubuntu.com/server


Ubuntu 操作系统特点如下:

  • 易于使用:Ubuntu 带有一个友好的图形用户界面,它可以通过图形用户界面或命令行进行管理。

  • 完全免费:Ubuntu 操作系统是开源软件,可以免费获得。

  • 长期支持:有些 Ubuntu 版本会获得长期支持(LTS),这表示它们将得到 5 年的更新和支持。

  • 社区支持:Ubuntu 有支持社区,包括志愿者和专业机构,可以提供帮助和建议。

  • 安全:Ubuntu 支持更新和安全补丁,以确保你的系统保持安全。

  • 应用程序丰富:Ubuntu 包括大量的应用程序和工具,可以满足多种需求。

  • 可定制性:Ubuntu 可以自定义,适应各种需求。

Ubuntu 安装 Docker

注意:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker.

系统要求

需要确认你所使用的 Ubuntu 操作系统版本符合 Docker 的支持版本要求,你可以在终端执行以下命令来查看你的 Ubuntu 版本:


lsb_release -a
复制代码


如果你的 Ubuntu 版本是 Focal 20.04 (LTS)、Bionic 18.04 (LTS) 或者 Xenial 16.04 (LTS) 其中之一,那么你的系统符合 Docker 的支持要求。


此外,你还需要确认你的系统是 64 位的 x86 平台或 ARM 平台。可以通过执行以下命令来检查处理器架构:


uname -m
复制代码


如果输出结果是 x86_64,则表示你的处理器是 64 位的 x86 平台;如果输出结果是 armv7l、armv8l 或者 aarch64,则表示你的处理器是 ARM 平台。

卸载旧版本

旧版本的 Docker 称为 docker 或者 docker-engine ,使用以下命令卸载旧版本:


首先,停止 Docker 服务:


sudo service docker stop
复制代码


然后,卸载 Docker:


sudo apt-get remove docker docker.io docker-ce docker-ce-cli
复制代码


最后,删除 Docker 相关的文件:


sudo rm -rf /var/lib/docker
复制代码


这样就完成了旧版本 Docker 的卸载。

使用 APT 安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。


$ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
复制代码


建议使用国内源,避免因网络问题导致软件包下载失败。为了确保所下载的软件包的合法性,需要添加软件源的 GPG 验证密钥。


添加 Docker 软件源的 GPG 验证密钥


使用以下命令添加 Docker 软件源的 GPG 验证密钥:


curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
复制代码


添加 Docker 软件源的 GPG 验证密钥(官方源):


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
复制代码


向 sources.list 中添加 Docker 软件源


阿里镜像源


$ sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
复制代码


官方镜像源


$ sudo add-apt-repository \ # "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ # stable
复制代码


以上命令会添加稳定版本的 Docker APT 镜像源,如果需要测试版本的 Docker 请将 stable 改为 test。

安装 Docker

更新 apt 软件包缓存,并安装 docker-ce。


$ sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
复制代码
使用脚本自动安装

Docker 官方提供了适用于 Ubuntu 系统的安装脚本,方便快捷地进行安装。此外,为了加速安装速度,你还可以使用国内的源进行安装。如果需要安装测试版的 Docker,可以从 test.docker.com 获取脚本。


以下是安装 Docker 的步骤:


  1. 下载安装脚本:


如果需要安装正式版 Docker:


curl -://get.docker.com -o get-docker.sh
复制代码


如果需要安装测试版 Docker:


curl -fsSL https://test.docker.com -o get-docker.sh
复制代码


  1. 运行安装脚本:


sudo sh get-docker.sh
复制代码


  1. 通过 --mirror 选项使用国内源进行安装:


sudo sh get-docker.sh --mirror Aliyun
复制代码


各种厂商的资源脚本


$ curl -fsSL test.docker.com -o get-docker.sh $ curl -fsSL get.docker.com -o get-docker.sh $ sudo sh get-docker.sh --mirror Aliyun$ sudo sh get-docker.sh --mirror AzureChinaCloud
复制代码


执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable)版本安装在系统中。

启动 Docker

这两个指令都是在 Linux 系统中,使用 systemd 服务管理器来管理 docker 的启动和自启动。


  • sudo systemctl enable docker:这个指令的作用是将 docker 服务添加到系统的启动项中,确保在系统启动时自动启动 docker。

  • sudo systemctl start docker:这个指令的作用是启动 docker 服务。如果 docker 服务已经安装并被添加到系统的启动项中,则系统启动时 docker 服务会自动启动,无需手动运行这个指令。


需要注意的是,如果系统中没有安装 docker,那么这两个指令无法正常运行。可以通过运行sudo apt-get install docker来安装并配置 docker。

建立 docker 用户组

默认情况下,使用 docker 命令与 Docker 引擎通信需要通过 Unix socket。但只有属于 root 用户组或 docker 用户组的用户才能访问 Docker 引擎的 Unix socket。通常情况下,Linux 系统不会直接使用 root 用户进行操作。因此,更为安全的做法是将需要使用 docker 的用户加入 docker 用户组。


为此,我们需要先创建 docker 用户组:


$ sudo groupadd docker
复制代码


将当前用户加入 docker 组:


$ sudo usermod -aG docker $USER
复制代码


退出当前终端并重新登录,进行如下测试

Debian 操作系统

Debian 是一个开源、自由、稳定、安全的操作系统,并且具有强大的社区支持,涵盖了众多应用领域。


Debian 是一种自由操作系统,它是由全球志愿者团队开发并维护的。它是以 Linux 内核为基础,支持多种计算机体系结构及多种语言,并遵循 GNU 通用公共许可证(GPL)等自由软件协议。Debian 被广泛运用于服务器、桌面电脑和嵌入式设备等领域。



官方网站:https://www.debian.org/

Debian 操作系统具有以下特点

  1. 自由软件:Debian 以完全自由软件为基础,这意味着您可以随意地修改、分发或重新发布 Linux 内核、Debian 工具和应用程序。

  2. 更新稳定:Debian 稳定版保证了更新稳定,系统更新发布周期适中,因此使得 Debian 更加适合于企业和服务器等场景。

  3. 多种体系结构支持:Debian 可以运行在不同的体系结构上,包括 x86、ARM、ppc64、SPARC、MIPS、m68k 和 IA-64 等。

  4. 多种应用程序支持:Debian 拥有丰富的软件包仓库,您可以使用其中的大量的工具和应用程序,还能访问 Debian 社区的大量社区驱动的软件包。

  5. 安全:Debian 精心构建了强大的安全机制,包括安全更新、独立的镜像站点、包含源代码的软件包等,以保证系统的安全性和稳定性。

系统要求

Docker 可以兼容以下版本的 Debian 操作系统:


  • Buster 10

  • Stretch 9


注意,Docker 并不是对 Debian 所有版本的支持都是完美的,只有在官方网站上指定的版本中才能获得最佳支持。建议用户在安装 Docker 时仔细检查所使用的 Debian 版本是否在支持列表中

卸载旧版本

与 Ubuntu 操作系统的卸载方式相同,可以直接参考 Ubuntu 的删除卸载方法。

使用 APT 安装

与 Ubuntu 操作系统的卸载方式相同,可以直接参考 Ubuntu 的删除卸载方法。

添加软件源的 GPG 密钥

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。 为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

阿里云源
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add - 
复制代码
官方源
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
复制代码


向 sources.list 中添加 Docker 软件源:


在某些基于 Debian 的 Linux 发行版中,命令 (lsb_release -cs) 替换为 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/ 支持的 Debian 版本代号,例如 buster。


sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian \ $(cat /etc/os-release | grep VERSION_CODENAME | cut -d= -f2) \ stable"
复制代码


另外,如果想使用官方源可以使用如下命令:


sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(cat /etc/os-release | grep VERSION_CODENAME | cut -d= -f2) \ stable"
复制代码


需要注意的是,如果您正在使用非基于 Debian 的发行版,以上命令可能无法正常工作。


以上命令会添加稳定版本的 Docker APT 源,如果需要测试版本的 Docker 请将 stable 改为 test。

Docker 镜像加速

为了解决从 Docker Hub 拉取镜像困难的问题,您可以配置镜像加速器。很多云服务商都提供了国内加速器服务,例如下面这些:


  1. 阿里云加速器:点击管理控制台 -> 登录账号(淘宝账号) -> 右侧镜像中心 -> 镜像加速器 -> 复制地址

  2. 网易云加速器:https://hub-mirror.c.163.com

  3. 百度云加速器:https://mirror.baidubce.com


出于容错考虑,建议同时配置多个镜像加速器。您可以在 docker-practice/docker-registry-cn-mirror-test 这个页面上查看各个镜像站测试结果。

发布于: 2023-06-27阅读数: 30
用户头像

洛神灬殇

关注

🏆 InfoQ写作平台-签约作者 🏆 2020-03-25 加入

【个人简介】酷爱计算机科学、醉心编程技术、喜爱健身运动、热衷悬疑推理的“极客达人” 【技术格言】任何足够先进的技术都与魔法无异 【技术范畴】Java领域、Spring生态、MySQL专项、微服务/分布式体系和算法设计等

评论

发布
暂无评论
【深入浅出Docker原理及实战】「Docker安装说明」零基础+全方位带你学习探索Docker容器开发实战指南(Ubuntu、Debian)_Docker_洛神灬殇_InfoQ写作社区