前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深入理解Docker:docker、podman-docker、docker.io和docker-ce的区别

深入理解Docker:docker、podman-docker、docker.io和docker-ce的区别

原创
作者头像
buzzfrog
发布2024-01-09 09:53:50
7080
发布2024-01-09 09:53:50
举报
文章被收录于专栏:云上修行云上修行

今天我们要来了解一下关于Docker的一些知识,特别是在Ubuntu 22.04服务器上关于docker、podman-docker、docker.io以及docker-ce的区别。

docker、podman-docker、docker.io和docker-ce

初始化一个全新的Ubuntu 22.04系统,你可能会发现在尝试执行 docker 命令时,系统会给你这样的反馈:“Command 'docker' not found, but can be installed with...”

代码语言:bash
复制
ubuntu@your-server:~$ docker
Command 'docker' not found, but can be installed with:
sudo snap install docker         # version 20.10.24, or
sudo apt  install podman-docker  # version 3.4.4+ds1-1ubuntu1.22.04.2
sudo apt  install docker.io      # version 24.0.5-0ubuntu1~22.04.1
See 'snap info docker' for additional versions.

这里有四个备选: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的安装办法,这里给出安装步骤。

安装Docker CE

下面是在Ubuntu系统上安装Docker CE 的步骤:

更新你的现有列表包索引:

代码语言:bash
复制
sudo apt-get update

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

代码语言:bash
复制
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

添加Docker的官方GPG密钥:

代码语言:bash
复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

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

代码语言:bash
复制
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

再次更新你的包索引:

代码语言:bash
复制
sudo apt-get update

最后,安装Docker CE

代码语言:bash
复制
sudo apt-get install docker-ce docker-ce-cli containerd.io

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

代码语言:bash
复制
sudo docker run hello-world

这个命令会下载一个测试图像并在容器中运行它。当容器运行时,它会打印出一个信息性消息。然后,如果能够成功运行,表明Docker是正确安装的。

Docker版本选择

看到这里,你可能已经对这四个版本有了一个初步了解。究竟该选择哪个版本呢?那就得看你的具体需求了。如果你希望对特性最新、最全面的版本进行开发,或者是在生产环境上使用,docker-ce可能会是你的首选。如果你对容器的daemon环境有所顾及,或者是想体验一下新的Linux容器运行方式,你也许可以选择 podman-docker。

总结

总的来说,无论你选择哪个版本,都应该根据你自己的实际需求进行。每一种方案都有它自己的优势和特性,理解这些差异,并根据自己需求来选择,才能更好的利用这些工具。

希望这篇文章能帮助你理解在Ubuntu系统上进行Docker安装的一些基本知识和选择。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker、podman-docker、docker.io和docker-ce
  • 安装Docker CE
  • Docker版本选择
  • 总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档