网站用户反馈,橫山区建设局网站,黄山网站设计公司,阿里建站平台官网本文介绍在Linux操作系统Ubuntu的18.04及以上版本中#xff0c;配置开源容器化平台和工具集Docker的详细方法#xff1b;其中#xff0c;我们以配置Docker平台的核心组件之一——Docker Engine为例来详细介绍。 首先#xff0c;大家需要明确#xff0c;我们常说的Docker配置开源容器化平台和工具集Docker的详细方法其中我们以配置Docker平台的核心组件之一——Docker Engine为例来详细介绍。 首先大家需要明确我们常说的Docker其实就是指的Docker Desktop或Docker Engine这两个东西。其中Docker Desktop软件是适合于桌面操作系统的、完整的Docker而Docker Engine则是Docker的核心运行引擎Docker Desktop软件包含了Docker Engine和其他一些附加的功能。关于下载Docker Desktop还是Docker Engine简单来说就是如果在桌面操作系统比如Windows电脑、Mac电脑中就下载Docker Desktop软件因为其可以通过图形化的界面来实现多种Docker功能若是在服务器、Linux电脑等平台则下载Docker Engine即可因为其可以通过命令行来完成各项Docker功能。关于二者的更详细介绍与区分大家可以参考Docker官网给出的阐述这里就不再赘述。 话不多说我们开始Docker Engine的具体配置。其中本文所涉及的全部代码都在终端中执行即可。
1 预处理 首先我们需要确保电脑中没有老版本的Docker及其组件。例如我这里的电脑虽然没有Docker应用但是还是能搜索到一些关于docker的文件或文件夹如下图所示。 因此除非大家的电脑是刚刚买回来、什么都没有配置过的新电脑其他情况下都建议大家首先执行如下的代码。
sudo apt-get remove docker docker-engine docker.io containerd runc上述代码使用apt-get命令来移除Docker相关软件包和容器运行时的命令。其中sudo是一个用于以超级用户root权限运行命令的关键词通过使用sudo可以执行需要管理员权限的操作。随后的apt-get是用于在Debian和Ubuntu等基于Debian的Linux发行版中进行软件包管理的命令行工具。remove是apt-get命令的一个选项用于从系统中卸载指定的软件包。docker、docker-engine、docker.io、containerd和runc都是要卸载的软件包的名称指定了Docker及其相关组件的软件包名称。通过在命令中列出这些软件包的名称apt-get将卸载它们及其相关的文件和配置。 运行上述代码如下图所示。可以看到我的电脑中其实之前也并没有什么Docker的相关文件。 此外我们还可以用Docker官网提供的一句代码来实现上述类似的功能它的作用和前述代码一致。
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc;
do sudo apt-get remove $pkg;
done运行上述代码如下图所示。 接下来我们需要更新一下系统的软件包列表通过如下的代码即可实现这一需求。
sudo apt-get update运行上述代码系统会连接到软件包仓库服务器并检查是否有可用的更新版本和新的软件包。这个命令会更新本地系统中的软件包列表以反映最新的可用软件包信息。 在运行其他apt-get命令如安装软件包、升级系统等之前通常建议先运行上述代码确保系统获得最新的软件包列表。这样可以确保我们从最新的软件包仓库中获取软件包并减少因为旧版本软件包而可能导致的问题。 需要注意apt-get update只会更新软件包列表而不会实际下载或安装软件包。如果后面我们要安装或升级软件包需要进一步使用apt-get install或apt-get upgrade才可以。 运行上述代码如下图所示。其中紫色框内是我们输入电脑账户密码的地方。 运行上述代码有的时候会有一些报错如下图所示。但一般情况下这些报错都不会影响我们后续的正常操作。 2 存储库配置 接下来我们需要通过如下的代码使得apt可以通过HTTPS来使用仓库这个是Docker必要的条件。
sudo apt-get install ca-certificates curl gnupg其中ca-certificates是一个软件包名称它包含了一组根证书和中间证书用于验证HTTPS连接的安全性安装ca-certificates软件包可以确保系统具有最新的根证书列表。curl是一个用于在命令行中进行网络请求的工具它支持多种协议如HTTP、HTTPS、FTP等安装curl软件包可以让我们在终端中方便地进行网络请求和下载文件。gnupg是GNU隐私卫士GNU Privacy Guard的缩写也称为GPG它是一个用于加密和签名数据的工具集安装gnupg软件包可以在系统中使用GPG密钥和加密功能。 运行上述代码如下图所示。 接下来我们通过如下代码设置Docker软件源的GPG密钥这个GPG是一个用于加密和签名数据的工具。
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod ar /etc/apt/keyrings/docker.gpg首先-m 0755是设置文件或目录的权限的选项0755表示所有者具有读、写和执行权限而其他用户具有读和执行权限。随后的-d /etc/apt/keyrings指定要创建的目录路径其创建一个名为/etc/apt/keyrings的目录。该命令的目的是创建/etc/apt/keyrings目录该目录将用于存放密钥文件。 接下来-fsSL是curl命令的选项用于指定请求的方式和参数其中-fsSL意味着以静默模式发送请求不显示进度信息并跟随重定向。其后的链接则是要获取的GPG密钥的URL。再随后的|是管道符号用于将前一个命令的输出作为后一个命令的输入。--dearmor用于将二进制格式的GPG密钥转换为文本格式并随后指定将转换后的GPG密钥保存到/etc/apt/keyrings/docker.gpg文件中。该命令的目的是使用curl从指定的URL下载Docker软件源的GPG密钥并将其转换为文本格式后保存。 其次chmod是一个用于修改文件或目录权限的命令ar表示将读权限授予所有用户最后的路径则是要修改权限的文件路径。该命令的目的是将GPG密钥文件的读权限授予所有用户以确保所有用户都能够读取该文件中的密钥信息。 运行上述代码如下图所示。 接下来我们需要配置Docker存储库代码如下。
echo \deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(. /etc/os-release echo $VERSION_CODENAME) stable | \sudo tee /etc/apt/sources.list.d/docker.list /dev/null首先echo是一个用于在终端输出文本的命令引号内的内容则是要输出的文本。这里的[arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg]是一个APT源的配置选项用于指定软件体系结构和GPG密钥的位置其中的$(dpkg --print-architecture)是一个子命令用于获取当前系统的体系结构。随后的链接则是Docker软件源的URL。 接下来$(. /etc/os-release echo $VERSION_CODENAME)是一个子命令用于获取当前系统的Ubuntu版本代号codename其后的/etc/os-release文件包含有关操作系统的信息。stable表示要使用Docker软件源的稳定版本。 随后tee是一个用于从标准输入读取数据并将其写入文件的命令。/etc/apt/sources.list.d/docker.list是要写入数据的文件路径。 /dev/null是将命令的输出重定向到空设备null设备即丢弃输出。该命令的目的是使用sudo权限将Docker软件源的配置信息写入到/etc/apt/sources.list.d/docker.list文件中并将输出重定向到空设备以避免输出到终端。 运行上述代码如下图所示。 接下来不知为何按照官网的流程我们还需要再更新一下系统的软件包列表我们就按照官网的说法照做即可。
sudo apt-get update运行上述代码如下图所示。 3 Docker Engine配置 接下来我们就可以开始配置Docker Engine自身了。配置Docker Engine的流程还是很简单的直接执行如下的代码即可。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin其中docker-ce即Docker社区版是Docker的核心组件docker-ce-cli表示Docker CLI (命令行界面)用于与Docker进行交互和管理容器。containerd用于管理容器的生命周期。docker-buildx-plugin是Docker Buildx插件用于构建多平台的Docker镜像同样的docker-compose-plugin也是Docker Compose插件用于定义和管理多容器应用的编排和部署。 运行上述代码如下图所示。 4 Docker Engine配置验证 随后我们验证一下Docker Engine的配置成功与否。通过如下的代码即可加以验证。该命令会下载一个测试映像并在容器中运行它。
sudo docker run hello-world运行上述代码如下图所示。 出现如上图所示的字样就说明我们的Docker Engine配置已经成功了。 需要说明的是我们这篇文章只介绍了Docker Engine的下载、配置方法而关于其进一步设置例如以非root用户管理Docker Engine方法以及具体的使用方法我们将该在后续的博客中加以详细的介绍。 至此大功告成。
欢迎关注疯狂学习GIS