当前位置: 首页 > news >正文

Ubuntu24安装Docker详细教程

目录

Ubuntu 安装 Docker 详细教程

一、安装环境说明

二、卸载旧版 Docker(若存在)

三、安装必要的依赖

四、添加 Docker 的 GPG 密钥

五、配置 Docker 的软件源

六、安装 Docker

docker-compose离线安装

七、验证 Docker 是否安装成功

八、配置镜像加速器


Ubuntu 安装 Docker 详细教程

一、安装环境说明

本教程适用于 Ubuntu 系统,建议使用 Ubuntu 20.04 或更高版本,并且系统已更新至最新状态。在安装之前,请确保你的机器满足以下条件:

操作系统:64 位的 Ubuntu 系统。

硬件要求:具备足够的磁盘空间和内存来安装 Docker 及其相关组件,以及后续运行容器所需的资源。

二、卸载旧版 Docker(若存在)

如果你的系统之前安装过旧版本的 Docker,例如 dockerdocker-enginedocker.iocontainerdrunc 等,为避免安装冲突,需要先将它们卸载。在终端中执行以下命令:

sudo apt-get remove docker docker-engine docker.io containerd runc

执行该命令后,系统会自动卸载相关的旧版本软件包。但需要注意的是,此操作不会删除 /var/lib/docker/ 目录及其包含的镜像、容器、卷和网络等数据。如果希望以全新的状态安装 Docker 且不需要保留这些旧数据,可以手动删除该目录。不过请谨慎操作,确保你确实不需要这些历史数据。

三、安装必要的依赖

在安装 Docker 之前,需要先安装一些必要的依赖包,这些依赖包用于支持通过 HTTPS 协议访问软件仓库等功能。依次在终端执行以下命令:

sudo apt-get update
​
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

sudo apt-get update:该命令用于更新系统的软件包索引,从软件源服务器获取最新的软件包信息,确保后续安装的软件包是最新版本。

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y​:安装一系列依赖包,其中 apt-transport-https​ 允许 apt​ 通过 HTTPS 协议访问软件仓库;ca-certificates​ 用于管理 SSL 证书,确保网络通信的安全;curl​ 是一个常用的命令行工具,用于在命令行中进行网络请求;gnupg-agent​ 是 GNU Privacy Guard 的一部分,用于管理 GPG 密钥,在软件包验证等方面发挥作用;software-properties-common​ 提供了一些通用的软件源管理工具和功能。-y​ 参数表示在安装过程中自动回答 “yes”,同意所有安装提示,避免手动交互确认。

image

四、添加 Docker 的 GPG 密钥

为了确保从软件源下载的 Docker 软件包的完整性和安全性,需要添加 Docker 官方的 GPG 密钥。在终端中执行以下命令:

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

此命令通过 curl 工具从阿里云镜像源(这里使用阿里云镜像源来加快下载速度,你也可以使用官方源 https://download.docker.com/linux/ubuntu/gpg)下载 Docker 的 GPG 密钥,并将其通过管道传递给 gpg 命令进行处理。gpg --dearmor 命令将二进制格式的 GPG 密钥转换为 ASCII 装甲格式,最后将转换后的密钥保存到 /usr/share/keyrings/docker-archive-keyring.gpg 文件中。这样,系统在后续从该软件源下载 Docker 相关软件包时,就可以使用这个密钥来验证软件包的签名,确保其未被篡改。

五、配置 Docker 的软件源

将 Docker 的软件源添加到系统的软件源列表中,以便通过 apt-get 命令从该源安装 Docker。在终端执行以下命令:

echo "deb \[arch=\$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb\_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/docker.list

该命令中,echo 部分构建了一个描述 Docker 软件源的字符串,其中:

arch=$(dpkg --print-architecture):通过 dpkg --print-architecture 命令获取当前系统的架构信息(如 amd64 等),确保下载的软件包与系统架构匹配。

signed-by=/usr/share/keyrings/docker-archive-keyring.gpg:指定使用前面下载并保存的 GPG 密钥来验证软件包签名。

https://mirrors.aliyun.com/docker-ce/linux/ubuntu:这是阿里云提供的 Docker 软件源地址,使用国内镜像源可以加快下载速度。你也可以使用官方源 https://download.docker.com/linux/ubuntu

$(lsb_release -cs):通过 lsb_release -cs 命令获取当前 Ubuntu 系统的版本代号(如 jammy 等),以便软件源提供与系统版本匹配的软件包。

stable:表示使用稳定版本的软件源。

| sudo tee -a /etc/apt/sources.list.d/docker.list​ 部分将前面构建的软件源字符串追加到 /etc/apt/sources.list.d/docker.list​ 文件中。sudo​ 用于获取管理员权限,tee​ 命令用于将标准输入的数据输出到指定文件,同时也输出到标准输出(终端),-a​ 参数表示追加模式,即不覆盖原文件内容,而是将新内容添加到文件末尾。

image

六、安装 Docker

完成上述配置后,就可以安装 Docker 了。在终端中依次执行以下命令:

sudo apt-get update
​
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

再次执行 sudo apt-get update:由于前面添加了新的软件源,再次更新软件包索引,确保获取到最新的 Docker 软件包信息。

sudo apt-get install docker-ce docker-ce-cli ``containerd.io`` docker-buildx-plugin docker-compose-plugin -y:安装 Docker 相关的一系列组件,其中:

docker-ce:Docker 社区版,是 Docker 的核心运行时引擎,用于创建、运行和管理容器。

docker-ce-cli:Docker 社区版的命令行工具,通过它可以与 docker-ce 守护进程进行交互,执行各种容器管理操作。

containerd.io:一个工业级的容器运行时,负责运行和管理容器的生命周期,是 Docker 架构中的重要组成部分。

docker-buildx-plugin:这是一个 Docker 的插件,为 docker build 命令提供了更强大的构建功能,例如多平台构建等。

docker-compose-plugin​:用于定义和运行多容器的 Docker 应用程序,通过一个 docker-compose.yml​ 文件就可以管理多个相关联的容器服务。-y​ 参数同样是自动同意所有安装提示,加快安装过程。

image

笔者在安装后发现docker-compose无法正常使用,所以单独重新安装docker-compose

docker-compose离线安装

docker-compose文件需要提前手动下载或者下面的链接 放在脚本同目录

最新发行的版本地址:https://github.com/docker/compose/releases

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-(uname−s)−•(uname -m)" -o /usr/local/bin/docker-compose

nano install_docker-compose.sh

cp docker-compose-linux-x86_64  /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo rm -rf /usr/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker --version
docker-compose --version

授权运行

chmod +x install_docker-compose.sh
sh ./install_docker-compose.sh

七、验证 Docker 是否安装成功

安装完成后,可以通过多种方式验证 Docker 是否成功安装。

查看 Docker 版本:在终端执行以下命令:

sudo docker --version

如果安装成功,你会看到类似以下的输出,显示 Docker 的具体版本号:

image

运行测试容器:运行一个简单的 hello-world 容器来进一步验证 Docker 的运行状态。在终端执行以下命令:

sudo docker run hello-world

该命令会从 Docker Hub 上下载一个名为 hello-world​ 的测试镜像(如果本地不存在该镜像),然后在容器中运行它。如果一切正常,容器启动后会输出一段欢迎信息,类似如下内容:

image

这表明 Docker 已经成功安装并能够正常运行容器。

八、配置镜像加速器

在国内使用 Docker 时,由于网络原因,从官方镜像源下载镜像的速度可能较慢。为了提高镜像下载速度,可以配置镜像加速器。这里以阿里云镜像加速器为例,其他常见的镜像加速器还有网易云镜像加速器、腾讯云镜像加速器等,配置方法类似。

创建或编辑 Docker 配置文件:在终端执行以下命令:

sudo mkdir -p /etc/docker

sudo nano /etc/docker/daemon.json

mkdir -p /etc/docker 命令用于创建 /etc/docker 目录,如果该目录已经存在则不会报错。nano /etc/docker/daemon.json 命令使用 nano 文本编辑器打开或创建 /etc/docker/daemon.json 文件,这个文件用于存储 Docker 守护进程的配置信息。

2. 添加镜像加速器地址:在打开的 daemon.json 文件中添加或修改如下内容:

{
    "registry-mirrors": ["https://docker.1panel.live"]
}

请将 https://你的镜像加速器地址 替换为你实际使用的镜像加速器地址,例如阿里云镜像加速器地址在配置时可能类似 https://xxxxxxx.mirror.aliyuncs.com(具体地址需在阿里云容器镜像服务控制台获取)。添加完成后,按 Ctrl+X 组合键,然后按 Y 键确认保存,最后按 Enter 键退出 nano 编辑器。

3. 重新加载 Docker 配置并重启服务:在终端执行以下命令使配置生效:

sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl restart docker

sudo systemctl daemon-reload 命令通知 systemd 重新加载服务配置文件,这样它才能识别到 /etc/docker/daemon.json 文件的更改。sudo systemctl restart docker 命令则用于重启 Docker 服务,使新的镜像加速器配置生效。

相关文章:

  • iPhone相册导出到电脑的完整指南
  • 程序化广告行业(85/89):多行业广告投放资质全解析
  • C# visionpro联合编程中遇到的问题之 R6025 - pure virtual function call
  • C语言编译预处理1
  • LR(0)
  • DAP-seq(DNA亲和纯化测序)
  • 数据库原理及应用mysql版陈业斌实验三
  • Kafka使用方式与底层原理解析
  • 详解如何复现DeepSeek R1:从零开始利用Python构建
  • Linux LED驱动(设备树)
  • AI云游戏盒子:未来娱乐的新纪元
  • 给网站添加文本水印
  • 记一次 .NET某固高运动卡测试 卡慢分析
  • 记录一次JVM调优过程2
  • Day31笔记-进程和线程
  • HarmonyOS-ArkUI V2装饰器: @Monitor装饰器:状态变量修改监听
  • C++运算符重载全面总结
  • 【题解-Acwing】831. KMP字符串
  • 【Python爬虫】简单介绍2
  • 【美容和医美作为智商税的本质】
  • 为治理商家“卷款跑路”“退卡难”,预付式消费司法解释5月起实施
  • 辽宁省委书记、省长连夜赶赴辽阳市白塔区火灾事故现场,指导善后处置工作
  • 浦发银行一季度净利175.98亿增1.02%,不良率微降
  • 今年一季度全国城镇新增就业308万人,就业形势保持总体稳定
  • 日趋活跃!2024年我国数据生产总量同比增长25%
  • 宁波银行一季度净利74.17亿元增5.76%,不良率持平