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

Kali/Debian Linux 安装Docker Engine

0x01 卸载旧版本

在安装Docker Engine之前,需要卸载已经安装的可能有冲突的软件包。一些维护者在他们的仓库提供的Docker包可能是非Docker官方发行版,须先卸载这些软件包,然后才能安装Docker官方正式发行的Docker Engine版本。
要卸载的软件包包括:

    docker.iodocker-composedocker-docpodman-docker

此外,Docker Engine依赖于containerdrunc。Docker Engine将这些依赖捆绑为一个bundle:containerd.io。如果之前有安装了containerdrunc,请卸载它们以避免与Docker Engine捆绑的版本产生冲突。
运行以下命令卸载所有冲突的软件包:

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

apt-get可能会报告没有安装某些软件包。
存储在/var/lib/docker/中的映像、容器、卷和网络不会在卸载Docker时自动删除。如果你想开始一个纯净的安装,想要清理任何现有的数据,请阅读卸载Docker Engine部分。

0x02 使用apt仓库安装

在新主机上首次安装Docker Engine之前, 需要设置Docker的 apt仓库。之后就可以从apt仓库安装和更新Docker 。

  1. 设置Docker的apt仓库
# 添加 Docker 官方 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/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg# 将仓库添加到 apt源:
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
sudo apt-get update

注意
如果你使用一个Linux衍生发行版,比如Kali Linux, 可能需要替换此命令中预期打印的版本代号:

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

将此部分替换为相应Debian发行版的代号, 例如bookworm

  1. 安装Docker包
    安装最新版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装特定版本:

# 列出可用版本:
apt-cache madison docker-ce | awk '{ print $3 }'5:24.0.0-1~debian.11~bullseye
5:23.0.6-1~debian.11~bullseye
...

从仓库中列出的可用版本中选择。

  1. 运行hello-world验证是否安装成功
sudo docker run hello-world

这个命令下载一个测试映像并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。
现在已经成功安装并启动了Docker Engine。

  1. 更新Docker Engine
    通过步骤2来安装较新版本

0x03 使用软件包安装

如果不能使用Docker的apt仓库来安装Docker Engine,可以下载你需要的版本的deb文件并手动安装它。你需要每次升级Docker Engine时都要下载一次新文件。

  1. 去浏览 https://download.docker.com/linux/debian/dists/
  2. 在列表中选择您的Debian版本。
  3. 转到pool/stable/并选择适用的体系架构(amd64, armhf、arm64或s390x)。
  4. 下载以下deb文件用于Docker Engine、CLI、containerd, Docker Compose软件包:
    containerd.io_<version>_<arch>.debdocker-ce_<version>_<arch>.debdocker-ce-cli_<version>_<arch>.debdocker-buildx-plugin_<version>_<arch>.debdocker-compose-plugin_<version>_<arch>.deb
  1. 安装.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
  1. 运行 hello-world验证Docker Engine安装是否成功
$ sudo service docker start
$ sudo docker run hello-world

0x04 卸载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
  1. 主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷,请执行以下操作:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
  1. 须手动删除其他已编辑的配置文件。
http://www.lryc.cn/news/275173.html

相关文章:

  • Spring 应用合并之路(二):峰回路转,柳暗花明 | 京东云技术团队
  • SQL Error 1366, SQLState HY000
  • Codeforces Round 893 (Div. 2)(VP-7,寒假加训)
  • MySQL第四战:视图以及常见面试题(上)
  • C语言程序设计——程序流程控制方法(一)
  • torch.backends.cudnn.benchmark
  • SQL Server从0到1——写shell
  • 计算圆弧的起始角度、终止角度和矩形信息并使用drawArc绘制圆弧
  • C++ Trie树模版 及模版题 || Trie字符串统计
  • Linux基础命令@echo、tail、重定向符
  • uniapp:签字版、绘画板 插件l-signature
  • Python Pillow(PIL)库的用法介绍
  • uniapp 【专题详解 -- 时间】云数据库时间类型设计,时间生成、时间格式化渲染(uni-dateformat 组件的使用)
  • k8s之flink的几种创建方式
  • 应用OpenCV绘制箭头
  • 信息学奥赛一本通1032:大象喝水查
  • 聊聊jvm的direct buffer统计
  • C/C++ 位段
  • Peter算法小课堂—树的应用
  • FineBI:简介
  • 原神单机版【完全无脑搭建】⭐纯单机⭐*稳定版*
  • 用通俗易懂的方式讲解:万字长文带你入门大模型
  • Invalid options in vue.config.js: “plugins“ is not allowed
  • 四、C语言中的数组:数组的创建与初始化
  • html5中各标签的语法格式总结以及属性值说明
  • 力扣(leetcode)第412题Fizz Buzz(Python)
  • 苦学golang半年,写了一款web服务器
  • uniapp vue2 车牌号输入组件记录
  • Unity 点击对话系统(含Demo)
  • vue接入高德地图