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

Ubuntu20安装docker

docker有三大版本: docker.io/docker-ce/docker-ee 他们之间的区别请参考:
https://kms.app/archives/324/

这里有四个备选:docker、podman-docker、docker.io以及不在其中的docker-ce。当我们在面对这样的多元选择瞬间,确实可能会感觉有些迷茫。接下来,我们会深入解析一下这四者的区别。

docker:这是一个由德克萨斯大学的奥斯汀分校维护的docker snap版。snap是一种跨多种Linux发行版的新型软件打包格式,方便更新和隔离,docker就是基于这个格式的Docker社区版的封装。然而,它可能并不包含所有的Docker特性,并且可能存在一些配置差异,例如网络配置等。

podman-docker:Podman是一种无需daemon(即守护进程)环境就可以运行的下一代Linux容器工具。它的使用感觉就像Docker,但实际上并没有运行在后台的守护进程。除此以外,它的命令行调用和docker是向后兼容的,可以很容易转换过来。

docker.io:这个是Ubuntu官方维护的docker版本,存在于Ubuntu的官方库中,使用 sudo apt install docker.io 命令可以方便简洁地获取。但是,由于它往往落后于最新版Docker,可能缺少最新的一些功能。

docker-ce:这是Docker社区版(Community Edition)。含有了Docker引擎用于创建和管理Docker镜像和容器,以及 Docker 命令行界面 (CLI) 客户端。适合在笔记本、桌面和开发团队使用,提供频繁的更新和新特性。

由于以上bash命令行中没有给出docker-ce的安装办法,这里给出安装步骤。

安装步骤

1. 更新现有列表包索引

sudo apt-get update

2. 安装让 APT 可以通过 HTTPS 使用存储库(repository)的包

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

3. 添加Docker的官方GPG密钥

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

4. 使用下面的命令设置稳定的仓库

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 再次更新索引

sudo apt-get update

在这里插入图片描述

6. 安装docker CE

sudo apt-get install docker-ce docker-ce-cli containerd.io

7. 验证Docker是否成功安装,运行docker命令

sudo docker run hello-world

在这里插入图片描述

注意:当前内网已经无法正常访问docker,请使用代理或科学上网,访问方式后续将持续更新


http://www.kler.cn/a/531429.html

相关文章:

  • 93,【1】buuctf web [网鼎杯 2020 朱雀组]phpweb
  • git基础使用--4---git分支和使用
  • SpringMVC全局异常处理+拦截器使用+参数校验
  • Maven全解析:从基础到精通的实战指南
  • 全面认识了解DeepSeek+利用ollama在本地部署、使用和体验deepseek-r1大模型
  • 群晖Alist套件无法挂载到群晖webdav,报错【连接被服务器拒绝】
  • 【DeepSeek论文精读】6. DeepSeek R1:通过强化学习激发大语言模型的推理能力
  • coze扣子新一代AI应用开发平台
  • 利用matlab寻找矩阵中最大值及其位置
  • 详解分布式锁
  • 在K8S中,有哪几种控制器类型?
  • 深度学习 Pytorch 基础网络手动搭建与快速实现
  • 【Linux】24.进程信号(1)
  • Array.prototype 方法在复杂数据处理中的应用
  • 深入解析 posix_spawn():高效的进程创建方式(中英双语)
  • Spark的基本概念
  • 如何选择Spring AOP的动态代理?JDK与CGLIB的适用场景?
  • 42【文件名的编码规则】
  • linux运行级别
  • 深入理解 `box-sizing: border-box;`:CSS 布局的利器
  • 【LLM】旋转位置编码 RoPE
  • 深入探讨 cuDF:GPU 加速的数据处理库
  • xmind使用教程
  • 机器学习--2.多元线性回归
  • Swoole如何处理内存泄漏
  • 【蓝桥杯】日志统计