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

Ubuntu 22.04 LTS 上安装 Docker

       单台机器安装docker环境,是为了后面安装open-webui,环境安装比较简单,没有难点,但一定要按步骤走,否则还是会遇到一些问题的。

第 1 步:更新软件包并安装必要软件

运行以下命令,更新软件包索引并安装添加 Docker 仓库所需的前置软件包:

sudo apt update
sudo apt install apt-transport-https curl

第 2 步:导入 Docker 官方 GPG 密钥

使用以下命令下载并导入 Docker 官方的 GPG 密钥:

注意:这里有用apt-key 的指令的,这个指令已经被废弃,要用gpg

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keys/docker.gpg

第 3 步:添加 Docker 官方仓库

将 Docker 的官方仓库添加到 Ubuntu 24.04 LTS 的软件源列表:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keys/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

第 4 步:更新软件包列表

刷新软件包列表,以便系统识别新添加的 Docker 仓库:

注意:如果跳过这步,直接去安装docker,会报错:Package docker-ce is not available, but is referred to by another

sudo apt update

第 5 步:安装 Docker

执行以下命令在 Ubuntu 24.04 LTS 上安装最新版本的 Docker,包括 Docker 引擎及其相关组件:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装的组件包括:

  • docker-ce:Docker Engine。
  • docker-ce-cli:用于与 Docker 守护进程通信的命令行工具。
  • containerd.io:管理容器生命周期的容器运行时环境。
  • docker-buildx-plugin:增强镜像构建功能的 Docker 扩展工具,特别是在多平台构建方面。
  • docker-compose-plugin:通过单个 YAML 文件管理多容器 Docker 应用的配置管理插件。

第 6 步:检查 Docker 服务状态

使用以下命令检查 Docker 的运行状态:

sudo systemctl is-active docker

检查 Docker 服务状态,执行后显示:active

第 7 步:替换 DockerHub 国内镜像源

如果拉取 DockerHub 镜像时遇到困难,可以替换为国内镜像:

1、打开配置文件:使用文本编辑器打开 Docker 的配置文件,如果没有就新建:

sudo vim /etc/docker/daemon.json

2、编辑配置文件:在配置文件中添加或修改registry-mirrors,指定国内镜像源的 URL。以下是一些可用的国内镜像源地址,你可以根据需要选择使用:

  • DaoCloud DaoCloud

配置文件的内容示例如下:

{"registry-mirrors": ["https://docker.m.daocloud.io"]
}

3、重启 Docker 服务:保存配置文件并重启 Docker 服务以应用更改。

sudo systemctl daemon-reload sudo systemctl restart docker

4、验证配置:重启 Docker 后,使用docker info命令来检查镜像源是否已经替换成功:

sudo docker info

http://www.lryc.cn/news/438158.html

相关文章:

  • 2024秋季云曦开学考
  • 基于STM32与Qt的自动平衡机器人:从控制到人机交互的的详细设计流程
  • C#使用ZipFile的方法CreateFromDirectory
  • Redis 哨兵模式的选举算法是什么?
  • Linux shell编程学习笔记80:gzip命令——让文件瘦身
  • 【字幕】恋上数据结构与算法之01为什么要学习数据结构与算法
  • 120页ppt丨集团公司战略规划内容、方法、步骤及战略规划案例研究
  • 滚雪球学SpringCloud[2.3]:服务发现与负载均衡详解
  • 商务英语口语之聚会宴饮常用口语柯桥培训到蓝天广场
  • 【C#】VS插件
  • 嵌入式C语言自我修养:C语言的面向对象编程思想
  • 行车记录仪格式化了怎么恢复?专业恢复方法分享
  • C++中extern ”c“的理解
  • 红黑树的删除
  • Vue3+setup实现父子组件单表增删改查写法模板
  • jmeter 录制APP脚本
  • C++类与对象深度解析(一):从抽象到实践的全面入门指南
  • docker拉取 jdk 8
  • 机器学习VS深度学习
  • 基于vue框架的宠物交流平台1n2n3(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • Rust 所有权 借用与引用
  • 构建智能电商新生态:深度解析京东商品详情API的力量
  • Golang | Leetcode Golang题解之第398题随机数索引
  • 使用注意力机制可以让你的模型更加灵活,但是需要额外的计算资源。rnn lstm bilstm attension
  • git命令大全
  • 【数据仓库】数据仓库常见的数据模型——范式模型
  • 【LeetCode每日一题】——LCR 078.合并 K 个升序链表
  • 代码随想录算法训练营第五十九天 | dijkstra(堆优化版)精讲
  • go语言后端开发学习(七)——如何在gin框架中集成限流中间件
  • SpringBoot2:web开发常用功能实现及原理解析-整合EasyExcel实现Excel导入导出功能