wsl2安装docker引擎(Install Docker Engine on Debian)

安装

1.卸载旧版本

在安装 Docker 引擎之前,您必须首先确保卸载任何冲突的软件包。

发行版维护者在他们的存储库。必须先卸载这些软件包,然后才能安装 Docker 引擎的正式版本。

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

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

此外,Docker引擎依赖项捆绑为一个捆绑包。如果你以前安装过,卸载它们以避免 与 Docker 引擎捆绑的版本冲突。

containerd runc containerd.io containerd 

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

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

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

卸载 Docker 时会自动删除存储的映像、容器、卷和网络

2.使用apt存储库安装

   (1).更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

   (2).添加 Docker 的官方 GPG 密钥:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

   (3).使用以下命令设置存储库:

echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  注意

如果您使用衍生发行版,例如 Kali Linux, 您可能需要替换此命令中预期 打印版本代号:

$(. /etc/os-release && echo "$VERSION_CODENAME")

   (4).更新包索引:apt

sudo apt-get update

3.安装 Docker 引擎

   (1).安装 Docker Engine、containerd 和 Docker Compose。

        要安装最新版本,请运行:

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

   (2).通过运行映像验证 Docker 引擎安装是否成功:hello-world

sudo docker run hello-world

到现在如果没有报错,说明已成功安装并启动 Docker 引擎。

4.升级Docker引擎

要升级Docker引擎,请按照https://docs.docker.com/engine/install/debian/#install-docker-engine

选择新版本,进行升级

5.卸载Docker引擎

   (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

下面是我在按照上面步骤进行安装时遇到的问题

按上面步骤安装完docker引擎之后,启动docker引擎会报以下错误

 1.首先去 /etc/init.d  看有没有docker的文件

cat docker

 2.去 测定/docker.log

  3.解决问题

sudo update-alternatives --config iptables

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

 4.启动docker

 至此,问题解决,成功启动

补充一点

使用systemctl命令管理docker报错

当你尝试使用 systemctl 命令来管理 Linux 系统上的服务的时候,如果系统中根本就没有使用 systemctl,而是(很可能)使用的 SysV init (sysvinit)命令,就会报错。

在 windows 中通过 WSL 使用的Debian,默认情况下系统使用的是 SysV 而不是 systemctl。当你使用 systemctl 命令(适用于有 systemd init 的系统)的时候,系统自然会报错。

那么怎样查看到底用的是哪个 init 系统呢?可以使用如下命令来检查 PID 为 1 的进程(即系统运行的第一个进程)名称:

ps -p 1 -o comm=

 它应该在输出中显示 init 或 sysv(或类似的东西)。如上图你看到的是 init,那么你的系统就没有使用 systemd,应该使用 init 命令。

其实systemctl命令和sysvinit 命令功能相同,要修复systemctl命令报错,最简单的方式就是不使用 systemctl 命令,而是使用 sysvinit 命令。

sysvinit 也不复杂,它与 systemctl 命令的语法相似。如下表格为两个命令的对比:

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

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

相关文章

使用GUI Guider工具开发嵌入式GUI应用 (3) - 使用label组件

使用GUI Guider工具开发嵌入式GUI应用 (3) - 使用label组件 文章目录 使用GUI Guider工具开发嵌入式GUI应用 (3) - 使用label组件引言在GUI Guider工程中创建label组件编译MCU工程并下载到开发板 引言 本节讲述在GUI Guider中,应用各种UI的基本元素,并顺…

企业中商业智能BI,常见的工具和技术

商业智能(Business Intelligence,简称BI)数据可视化是通过使用图表、图形和其他可视化工具来呈现和解释商业数据的过程。它旨在帮助组织更好地理解和分析他们的数据,从而做出更明智的商业决策。 常见的商业智能数据可视化工具和技…

c51单片机串口通信(中断方式接收数据)(单片机--单片机通信)示例代码 附proteus图

单片机一般采用中断方式接受数据,这样便于及时处理 #include "reg51.h" #include "myheader.h" #define uchar unsigned char int szc[10]{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int bufferc[6]{0}; int sza[6]{0x01,0x02,0x0…

Redis_缓存1_缓存类型

14.redis缓存 14.1简介 穿透型缓存: 缓存与后端数据交互在一起,对服务端的调用隐藏细节。如果从缓存中可以读到数据,就直接返回,如果读不到,就到数据库中去读取,从数据库中读到数据,也是先更…

二次封装element-plus上传组件,提供校验、回显等功能

二次封装element-plus上传组件 0 相关介绍1 效果展示2 组件主体3 视频组件4 Demo 0 相关介绍 基于element-plus框架,视频播放器使用西瓜视频播放器组件 相关能力 提供图片、音频、视频的预览功能提供是否为空、文件类型、文件大小、文件数量、图片宽高校验提供图片…

实录分享 | 使用Prometheus和Grafana监控Alluxio运行状况

欢迎来到【微直播间】,2min纵览大咖观点 本次分享主要包括三个方面: Prometheus&Grafana简介环境搭建手动调优 一、 Prometheus&Grafana简介关于Prometheus: Prometheus 是一个开源的完整监控解决方案,其对传统监控系…

js操作剪贴板讲解

文章目录 复制(剪切)到剪贴板Document.execCommand()Clipboard复制Clipboard.writeText()Clipboard.write() copy,cut事件 从剪贴板进行粘贴document.execCommand(paste)Clipboard粘贴Clipboard.readText()Clipboard.read() paste 事件 安全性…

领航未来!探索开源无人机与5G组网的前沿技术

近年来无人机行业高速发展,无人机被广泛应用于航拍、农业、电力、消防、科研等领域。随着无人机市场不断增长,其对实时超高清图传、远程低时延控制、海量数据处理等需求也在不断扩张,这无疑给通信链路带来了巨大的挑战。 为应对未来的需求变…

NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践 0 背景介绍以及相关概念 本项目对3种常用的文本匹配的方法进行实现:Poin…

数据分析两件套ClickHouse+Metabase(一)

ClickHouse篇 安装ClickHouse ClickHouse有中文文档, 安装简单 -> 文档 官方提供了四种包的安装方式, deb/rpm/tgz/docker, 自行选择适合自己操作系统的安装方式 这里我们选deb的方式, 其他方式看文档 sudo apt-get install -y apt-transport-https ca-certificates dirm…

【冒泡排序及其优化】

冒泡排序及其优化 冒泡排序核心思想 冒泡排序的核⼼思想就是:两两相邻的元素进⾏⽐较 1题目举例 给出一个倒序数组:arr[10]{9,8,7,6,5,4,3,2,1,0} 请排序按小到大输出 1.1题目分析 这是一个完全倒序的数组,所以确定冒泡排序的趟数&#xff0…

如何手动创建可信任证书DB并配置 nss-config-dir

以阿里云免费邮箱为例 1. 如何下载证书链 证书链说明 使用 gnutls gnutls-cli --print-cert smtp.aliyun.com:465 < /dev/null > aliyun-chain.certs使用 openssl showcerts $ echo -n | openssl s_client -showcerts -connect smtp.aliyun.com:465 | sed -ne /-BE…