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

Debian环境安装Docker Engine

Debian环境安装Docker Engine

    • 卸载旧版本
    • 使用APT工具安装Docker
      • 设置存储库
      • 安装Docker
      • 设置权限
    • docker compose命令
    • 卸载Docker

卸载旧版本

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

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

此外,Docker Engine 依赖 containerdrunc。这两个包被捆绑为1个包: 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

卸载 Docker 时,存储在 /var/lib/docker/ 中的映像、容器、卷和网络不会自动删除。

使用APT工具安装Docker

设置存储库

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# 添加第三方的apt仓库软件源:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新apt软件源
sudo apt-get update

如果您使用衍生发行版,例如 Kali Linux,则可能需要替换此命令中,版本代号的部分:

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

安装Docker

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

设置权限

Docker 守护程序绑定 Unix socket,而不是TCP端口号。默认只有 root 用户有权限。

如果不想在 docker 命令前面加上 sudo,请创建名为 docker 的用户群组,并向其添加用户。

当 Docker 守护程序启动时,它会创建一个可供 docker 用户群组成员访问的 socket

在某些 Linux 发行版上,使用软件包管理器安装 Docker Engine 时,系统会自动创建此组。在这种情况下,您 无需手动创建组

查看当前系统有没有 docker 用户群组:

cat /etc/group | grep docker

如当前系统已有 docker 用户群组,则跳过此步骤。
如果没有,则新建 docker 用户群组,并给当前用户,添加到 docker 用户群组中:

# 如果现有用户群组没有 docker ,则创建
sudo groupadd docker# 将当前用户添加到 docker 用户群组
sudo usermod -aG docker $USER# 注销并重新登录,或者运行以下命令,以激活对用户群组的更改
newgrp docker

docker compose命令

V2版本docker compose是以插件的方式作为docker的一部分的,如果按照官网或者我之前的教程去执行的话,其实已经将docker compose安装上了.

新版本的 Docker Engine 可以直接使用 docker compose 代替 docker-compose 命令。
不需要额外安装 docker-compose

卸载Docker

卸载 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

主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有镜像、容器和卷,请执行以下操作:

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

删除源列表和密钥环

sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc

https://docs.docker.com/engine/install/debian/
https://docs.docker.com/engine/install/linux-postinstall/
容器技术—docker compose https://blog.csdn.net/weixin_37648525/article/details/125115260

http://www.lryc.cn/news/508595.html

相关文章:

  • Python常用内置函数总结
  • 深入了解蓝牙Profile类型与设备的对应关系
  • [bug]java导出csv用Microsoft Office Excel打开乱码解决
  • 2023年区块链职业技能大赛——区块链应用技术(一)模块一
  • 4 软件工程——总体设计
  • Elasticsearch:确保业务规则与语义搜索无缝协作
  • 【大语言模型】ACL2024论文-33 Johnny 如何说服大型语言模型越狱:通过人性化 LLMs 重新思考挑战 AI 安全性的说服技巧
  • 【LuaFramework】LuaFramework_UGUI_V2框架学习
  • 使用 AOP 在 Spring Boot 中实现跟踪和日志记录
  • 如何永久解决Apache Struts文件上传漏洞
  • FPGA远程升级 -- FLASH控制
  • 企业内训|高智能数据构建、Agent研发及AI测评技术内训-吉林省某汽车厂商
  • ARM异常处理 M33
  • (补)算法刷题Day24: BM61 矩阵最长递增路径
  • 探索 Bokeh:轻松创建交互式数据可视化的强大工具
  • 【Rust自学】6.1. 定义枚举
  • 【Java基础面试题035】什么是Java泛型的上下界限定符?
  • 0基础学前端系列 -- 深入理解 HTML 布局
  • 【python高级】342-TCP服务器开发流程
  • 《计算机组成及汇编语言原理》阅读笔记:p48-p81
  • AI在传统周公解梦中的技术实践与应用
  • GIS数据处理/程序/指导,街景百度热力图POI路网建筑物AOI等
  • ssr实现方案
  • 手动修改nginx-rtmp模块,让nginx-rtmp-module支持LLHLS
  • gitee别人仓库再上传自己仓库
  • create-react-app 创建react项目报错 ERESOLVE unable to resolve dependency tree
  • 从git上下载的项目不完整,关于git lfs
  • sqlite3,一个轻量级的 C++ 数据库库!
  • Pytorch | 从零构建ParNet/Non-Deep Networks对CIFAR10进行分类
  • 验证 Dijkstra 算法程序输出的奥秘