无桌面版docker在Ubuntu系统上安装

目录

注意

系统要求

卸载旧版本

安装

使用apt存储库安装

1. 设置 Docker 的apt存储库。

2. 安装Docker软件包

3. 通过运行镜像来验证Docker Engine安装是否成功 hello-world。

从包中安装

1. 进入 https://download.docker.com/linux/ubuntu/dists/。

2. 在列表中选择您的 Ubuntu 版本。

3. 转至pool/stable/并选择适用的架构(amd64、 armhf、arm64或s390x)。

4. deb下载Docker 引擎、CLI、containerd 和 Docker Compose 软件包的以下文件:

5. 安装.deb软件包。将以下示例中的路径更新为下载 Docker 软件包的位置。

6. 通过运行镜像来验证Docker Engine安装是否成功 hello-world。

使用便捷脚本安装

安装预发行版

卸载Docker Engine

1. 卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

2. 主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷:


注意

如果您使用 ufw 或 firewalld 来管理防火墙设置,请注意,当您使用 Docker 公开容器端口时,这些端口会绕过您的防火墙规则。

系统要求

要安装 Docker Engine,您需要以下 Ubuntu 版本之一的 64 位版本:

  • Ubuntu 曼蒂克 23.10
  • Ubuntu 农历 23.04
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)

适用于 Ubuntu 的 Docker 引擎与 x86_64(或 amd64)、armhf、arm64、s390x 和 ppc64le (ppc64el) 架构兼容。

卸载旧版本

在安装 Docker Engine 之前,您需要卸载所有冲突的软件包。

Distro 维护者在 APT 中提供 Docker 软件包的非官方发行版。您必须先卸载这些软件包,然后才能安装正式版的 Docker Engine。

要卸载的非官方软件包有:

  • docker.io
  • docker-compose
  • docker-compose-v2
  • docker-doc
  • podman-docker

此外,Docker Engine 依赖于containerdrunc。Docker 引擎将这些依赖项捆绑为一个捆绑包:containerd.io. 如果您之前安装过containerdrunc,请卸载它们以避免与 Docker Engine 捆绑的版本冲突。

运行以下命令卸载所有冲突的包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt-get可能会报告您没有安装这些软件包。

/var/lib/docker/卸载 Docker 时,不会自动删除存储的映像、容器、卷和网络。如果您想从全新安装开始,并且希望清理任何现有数据,请阅读 卸载 Docker 引擎部分。

安装

您可以根据需要以不同的方式安装 Docker Engine:

  • Docker Engine 与Linux 版 Docker Desktop捆绑在一起 。这是最简单、最快的入门方法。

  • 从Dockerapt存储库设置并安装 Docker 引擎 。

  • 手动安装并手动管理升级。

  • 使用方便 的脚本。仅建议用于测试和开发环境。

使用apt存储库安装

在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

1. 设置 Docker 的apt存储库。

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
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 a+r /etc/apt/keyrings/docker.gpg# Add the repository to Apt sources:
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
sudo apt-get update

2. 安装Docker软件包

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

3. 通过运行镜像来验证Docker Engine安装是否成功 hello-world

sudo docker run hello-world
  1. 此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。

您现在已经成功安装并启动了 Docker Engine。

从包中安装

如果您无法使用 Docker 的apt存储库来安装 Docker Engine,您可以下载deb适合您的版本的文件并手动安装。每次升级 Docker Engine 时都需要下载新文件。

1. 进入 https://download.docker.com/linux/ubuntu/dists/。

2. 在列表中选择您的 Ubuntu 版本。

3. 转至pool/stable/并选择适用的架构(amd64、 armhfarm64s390x)。

4. deb下载Docker 引擎、CLI、containerd 和 Docker Compose 软件包的以下文件:

  • containerd.io_<version>_<arch>.deb
  • docker-ce_<version>_<arch>.deb
  • docker-ce-cli_<version>_<arch>.deb
  • docker-buildx-plugin_<version>_<arch>.deb
  • docker-compose-plugin_<version>_<arch>.deb

5. 安装.deb软件包。将以下示例中的路径更新为下载 Docker 软件包的位置。

sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<version>_<arch>.deb \./docker-ce-cli_<version>_<arch>.deb \./docker-buildx-plugin_<version>_<arch>.deb \./docker-compose-plugin_<version>_<arch>.deb

Docker 守护进程自动启动。

6. 通过运行镜像来验证Docker Engine安装是否成功 hello-world

sudo service docker start
sudo docker run hello-world

使用便捷脚本安装

Docker 在https://get.docker.com/提供了一个方便的脚本在新打开以非交互方式将 Docker 安装到开发环境中。不建议在生产环境中使用便利脚本,但它对于创建适合您的需求的配置脚本很有用。另请参阅 使用存储库安装步骤,了解使用包存储库安装的安装步骤。该脚本的源代码是开源的,您可以在 docker-installGitHub 上的存储库中找到它在新中打开。

在本地运行脚本之前,请务必先检查从互联网下载的脚本。安装之前,请熟悉便利脚本的潜在风险和限制:

  • 该脚本需要root权限sudo才能运行。
  • 该脚本尝试检测您的 Linux 发行版和版本,并为您配置包管理系统。
  • 该脚本不允许您自定义大多数安装参数。
  • 该脚本会安装依赖项和建议,而不要求确认。这可能会安装大量软件包,具体取决于主机的当前配置。
  • 默认情况下,该脚本会安装最新稳定版本的 Docker、containerd 和 runc。使用此脚本配置计算机时,可能会导致 Docker 主要版本意外升级。在部署到生产系统之前,始终在测试环境中测试升级。
  • 该脚本并非旨在升级现有的 Docker 安装。使用脚本更新现有安装时,依赖项可能无法更新到预期版本,从而导致版本过时。

提示:运行前预览脚本步骤

您可以运行脚本,并选择--dry-run了解脚本在调用时将运行哪些步骤:

<span style="background-color:#ffffff"><code class="language-console"><span style="color:#8f5902">$</span> curl -fsSL https://get.docker.com -o get-docker.sh
<span style="color:#8f5902">$</span> sudo sh ./get-docker.sh --dry-run
</code></span>

本示例从https://get.docker.com/下载脚本 在新中打开并运行它以在 Linux 上安装 Docker 的最新稳定版本:

<span style="color:#000000"><span style="background-color:#f9f9fa"><span style="background-color:#ffffff"><code class="language-console"><span style="color:#8f5902">$</span> curl -fsSL https://get.docker.com -o get-docker.sh
<span style="color:#8f5902">$</span> sudo sh get-docker.sh
<span style="color:#000000">Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
</span><span style="color:#000000"><...>
</span></code></span></span></span>

您现在已经成功安装并启动了 Docker Engine。该docker 服务在基于 Debian 的发行版上自动启动。在RPMCentOS、Fedora、RHEL 或 SLES 等基础发行版上,您需要使用适当的systemctlservice命令手动启动它。正如消息所示,默认情况下非 root 用户无法运行 Docker 命令。

安装预发行版

Docker 还在 https://test.docker.com/提供了一个方便的脚本在新中打开在 Linux 上安装 Docker 的预发行版。此脚本与 处的脚本相同get.docker.com,但将您的包管理器配置为使用 Docker 包存储库的测试通道。测试通道包括 Docker 的稳定版和预发行版(测试版、候选版)。使用此脚本可以尽早访问新版本,并在稳定版本发布之前在测试环境中对其进行评估。

要从测试通道在 Linux 上安装最新版本的 Docker,请运行:

curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh

卸载Docker Engine

1. 卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2. 主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/208258.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu22.04新机使用(换源,下载软件,安装显卡驱动,锁屏长亮)

换源 国内有很多Ubuntu的镜像源&#xff0c;包括阿里的、网易的&#xff0c;还有很多教育网的源&#xff0c;比如&#xff1a;清华源、中科大源。推荐使用中科大源&#xff0c;快得很。 /etc/apt/sources.list编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前…

KEPserver和S7-200SMART PLC通信配置

KEPserver和S7-1200PLC通信配置,请查看下面文章链接: https://rxxw-control.blog.csdn.net/article/details/134683670https://rxxw-control.blog.csdn.net/article/details/134683670 1、OPC通信应用 2、选择Siemens驱动 3、添加S7-200设备

k8s部署jenkins

1.先决条件 1.因为国内的容器镜像加速器无法实时更新docker hub上的镜像资源.所以可以自己进行jenkins的容器镜像创建,. 2.这里用到了storageClass k8s的动态制备.详情参考: k8s-StoargClass的使用-基于nfs-CSDN博客 3.安装docker服务.(用于构建docker image) 2.构建jenki…

C++学习之路(十六)C++ 用Qt5实现一个工具箱(为屏幕颜色提取功能增加一个点击复制的功能)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《颜色代码转换和屏幕颜色提取功能》功能。今天我们把屏幕颜色提取的功能再扩展一下&#xff0c;让它可以点击复制吧。下面我们就来看看如何来规划开发这样的小功能并且添加到我们的工具箱中吧。 老规矩&#xff0c;先…

AntDB数据库:从海量数据处理,到5G计费商用核心

AntDB数据库自2008年研发面世以来&#xff0c;首先被应用于运营商的核心系统&#xff0c;满足运营商海量数据处理的需求。随着数字科技的不断发展&#xff0c;AntDB也在不断地更新迭代&#xff0c;逐渐地为更多行业与客户提供更全面的服务。5G时代来临&#xff0c;AntDB抓住发展…

Linux 磁盘分区处理

最近实施过程中遇到客户提供给我们的服务器操作系统和Docke容器环境都已经安装完成&#xff0c;但磁盘的分区没有进行整理好。磁盘总共270G&#xff0c;系统安装分配了60G&#xff0c;剩余未创建分配需要处理。由于分区情况每家不一样&#xff0c;但大致流程都是相同的&#xf…

uniapp地图基本使用及解决添加markers不生效问题?

uniapp地图使用 App端 通过 nvue 页面实现地图 文章目录 uniapp地图使用效果图templatejs添加 marker使用地图查看位置移到到当前位置 效果图 template <template><view class"mapWrap"><!-- #ifdef APP-NVUE --><map class"map-containe…

一篇带你串通数据结构

文章目录 导论数据结构的定义数据结构在计算机科学中的重要性为什么学习数据结构很重要 1、基本概念1.1、数据、数据元素和数据项的概念1.2、数据对象与数据结构的关系1.3、逻辑结构与物理结构 2、线性结构2.1、数组2.2、链表2.3、栈2.4、队列 3、非线性结构3.1、树3.2、图 4、…

P1 什么是链表 C语言简单易懂

目录 前言 01 什么是链表 02 数组的特点 03 数组的缺点 3.1 删除数组其中一个元素 3.2 数组增加某个节点 04 链表 前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《 C 》✨✨✨ &#x1f525; 推荐专栏2: 《 Linux C应用编程&#xff08;概念…

【1】基于多设计模式下的同步异步日志系统

1. 项目介绍 本项⽬主要实现⼀个⽇志系统&#xff0c; 其主要⽀持以下功能: • ⽀持多级别⽇志消息 • ⽀持同步⽇志和异步⽇志 • ⽀持可靠写⼊⽇志到控制台、⽂件以及滚动⽂件中 • ⽀持多线程程序并发写⽇志 • ⽀持扩展不同的⽇志落地⽬标地 2. 开发环境 • CentOS 7 • vs…

存储虚拟化的写入过程

存储虚拟化的场景下&#xff0c;整个写入的过程。 在虚拟机里面&#xff0c;应用层调用 write 系统调用写入文件。write 系统调用进入虚拟机里面的内核&#xff0c;经过 VFS&#xff0c;通用块设备层&#xff0c;I/O 调度层&#xff0c;到达块设备驱动。虚拟机里面的块设备驱动…

K7系列FPGA多重启动(Multiboot)

Xilinx 家的 FPGA 支持多重启动功能&#xff08;Multiboot&#xff09;&#xff0c;即可以从多个 bin 文件中进行选择性加载&#xff0c;从而实现对系统的动态更新&#xff0c;或系统功能的动态调整。 这一过程可以通过嵌入在 bit 文件里的 IPROG 命令实现上电后的自动加载。而…

自定义类型-结构体,联合体和枚举-C语言

引言 能看到结构体&#xff0c;说明C语言想必学习的时间也不少了&#xff0c;在之前肯定也学习过基本数据类型&#xff0c;包括整型int&#xff0c;浮点型float等等。可是在日常生活中&#xff0c;想要描述一个事物并没有那么简单。比如&#xff0c;你要描述一本书&#xff0c…

Linux常见指令大全及周边知识:让你的命令行变得更加强大

文章目录 目录 文章目录 前言 一&#xff0c;Linux操作系统是啥&#xff1f; 二&#xff0c;Linux操作系统具有以下特点 三&#xff0c;指令的学习 1&#xff0c;指令是什么&#xff1f; 2&#xff0c;ls 指令及其常用的衍生指令&#xff1a; 周边知识&#xff1a; ls…

解决Wireshark分析RTMP抓包时Unknown问题

使用Wireshark抓包时&#xff0c;经常出现很多Unknown包&#xff0c;但实际上的字节流实际是正常的。 其实&#xff0c;RTMPT设置里有一个最大包大小的设置&#xff0c;默认是32768&#xff0c;而且默认RTMPT协议配置了从多个TCP流中重组RTMPT的功能(应当是考虑基于HTTP的传输…

RPC和HTTP的区别

目录 1、RPC是什么 1.1 概念 1.2 RPC的组成部分 1.3 常见的 RPC 技术和框架 1.4 RPC的工作流程 2、HTTP是什么 2.1 概念 2.2 HTTP的消息格式 2.3 HTTP响应状态码有哪些 3、⭐RPC和HTTP的区别 小结 1、RPC是什么 1.1 概念 RPC&#xff08;Remote Procedure Call&am…

MySQL字符函数

在数据库中&#xff0c;字符函数是一组用于处理字符串的函数。这些函数可以帮助我们执行各种操作&#xff0c;如连接、比较、替换等。本文将介绍一些常用的MySQL字符函数&#xff0c;并演示如何在查询中使用它们。 1.concat() 函数 CONCAT() 函数用于连接两个或多个字符串。它…

Scrapy框架内置管道之图片视频和文件(一篇文章齐全)

1、Scrapy框架初识&#xff08;点击前往查阅&#xff09; 2、Scrapy框架持久化存储&#xff08;点击前往查阅&#xff09; 3、Scrapy框架内置管道 4、Scrapy框架中间件&#xff08;点击前往查阅&#xff09; 5、Scrapy框架全站、分布式、增量式爬虫 Scrapy 是一个开源的、…

前端入门(四)Ajax、Promise异步、Axios通信、vue-router路由、组件库

文章目录 AjaxAjax特点 Promise 异步编程&#xff08;缺&#xff09;Promise基本使用状态 - PromiseState结果 - PromiseResult AxiosVue中使用AxiosAxios请求方式getpostput和patchdelete并发请求 Vue路由 - vue-router单页面Web应用&#xff08;single page web application&…

一起学docker系列之十四Dockerfile微服务实践

目录 1 前言2 创建微服务模块2.1 **创建项目模块**2.2 **编写业务代码** 3 编写 Dockerfile4 构建 Docker 镜像5 运行 Docker 容器6 测试微服务7 总结8 参考地址 1 前言 微服务架构已经成为现代软件开发中的一种重要方式。而 Docker 提供了一种轻量级、便携式的容器化解决方案…