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

容器内部再运行Docker(DinD和DooD)

场景

宿主机的docker启动了linux系统,需要在linux中使用docker

解决方案

DinD:容器内部独立运行 Docker 守护进程,实现容器系统中的 Docker 使用
DooD:在容器里用宿主机 Docker,不安全,隔离性差,不适合生产环境

区别

维度DooD(挂载宿主机 Docker Socket)DinD(独立 daemon)
原理容器 CLI 直接调用宿主机 Docker Daemon容器内再跑完整 Docker Daemon
性能无额外开销,性能最好嵌套存储,I/O 放大
资源占用低(无额外 daemon)高(多一个 daemon + overlay 嵌套)
隔离性差(容器实际跑在宿主机,互相可见)好(完全独立网络、存储)
安全性低(容器≈root,可操控宿主机 Docker)高(容器内隔离,仅 --privileged 风险)
启动参数-v /var/run/docker.sock:/var/run/docker.sock--privileged --restart=unless-stopped -p 2376:2376
适用场景本地快速构建、调试、一次性任务GitLab/Jenkins CI、测试沙箱、共享 Runner

如何使用

以下描述的是核心步骤,中间遇到的其他问题请deepseek

宿主机启动容器的命令增加参数

DooD模式:-v /var/run/docker.sock:/var/run/docker.sock
DinD模式:–privileged --restart=unless-stopped -p 2376:2376

进入容器安装docker cli

不管哪个模式这个步骤都要做

# 1. 进入容器
docker exec -it 容器id bash# 2. 安装 Docker CLI(和 Daemon),这个命令基于Ubuntu,其他种类linux请自行deepseek
apt update && apt install -y docker.io# 3. 验证
docker ps
http://www.dtcms.com/a/333391.html

相关文章:

  • CUDA中的基本概念
  • Linux软件编程:进程线程(线程)
  • 结构体(Struct)、枚举(Enum)的使用
  • 基于SpringBoot的房产销售系统
  • 护栏卫士碰撞报警系统如何实时监测护栏的状态
  • 系统时钟配置
  • 38 C++ STL模板库7-迭代器
  • 用ICO图标拼成汉字
  • BFS和codetop复习
  • 复杂度扫尾+链表经典算法题
  • Klipper-probe模块
  • H5449G降压恒流无人机照明驱动芯片方案24V/36V/48V/72V降6V12V9V /8A替换NCL30160
  • 探索无人机图传技术:创新视野与无限可能
  • C#WPF实战出真汁06--【系统设置】--餐桌类型设置
  • Linux 系统中, LANG 和 LC_ALL变量有什么区别与联系?
  • 文档对比(java-diff-utils)
  • lidar2imu/auto_caliban以及manual_calib安装过程
  • 8.15网络编程——UDP和TCP并发服务器
  • qs是什么?
  • Python入门第3课:Python中的条件判断与循环语句
  • Ubuntu20.04下Remmina的VNC密码忘记后重置
  • 手机场景性能测试中的部分关键指标
  • Layui 语法详解与全功能示例
  • iOS 性能监控实战,多工具协作完成全方位分析
  • LCR 076. 数组中的第 K 个最大元素
  • 代码随想录刷题Day33
  • [优选算法专题二滑动窗口——长度最小的子数组]
  • 【完整源码+数据集+部署教程】电池柱状态检测系统源码和数据集:改进yolo11-TADDH
  • 华为交换机配置文件的相关命令和用法
  • 深入解析五大通信协议:TCP、UDP、HTTP_HTTPS、WebSocket与GRPC