Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 虚拟化

    • 系统虚拟化

    • 容器虚拟化

      • docker命令
      • docker安装portainer图形化界面
      • var-run-docker.sock是什么
      • docker-compose.yml配置文件最全选项详解
      • Volume的类型和生命周期
      • docker更换镜像源
      • docker安装prometheus监控
      • docker安装node_exporter
      • docker安装cadvisor
      • micrometer是Exporter吗,有哪些常用的Exporter
      • docker安装gitea
      • docker安装nacos
      • docker安装anki-sync-server
    • 网络虚拟化

    • 存储虚拟化

    • 应用虚拟化

  • Git

  • 可视化

  • Linux

  • 远程串流等

  • SWF

  • 网络

  • 网站收藏
  • 技术
  • 虚拟化
  • 容器虚拟化
plantre
2025-04-30

var-run-docker.sock是什么

/var/run/docker.sock 是 Docker 架构中一个关键的通信接口,其核心作用与使用场景如下:

  1. 本质与功能 • UNIX 域套接字文件

    /var/run/docker.sock 是 Docker 守护进程(dockerd)默认监听的 UNIX 域套接字文件,用于接收来自客户端的 API 请求。它本质上是宿主机上的一个特殊文件,作为 Docker 引擎与客户端(如 docker 命令行工具)之间的通信桥梁。 • 权限与通信机制

    该套接字文件默认权限为 srw-rw----,所有者是 root,所属组为 docker 组,只有具备权限的进程才能通过它与 Docker 守护进程交互。当客户端发送请求时,守护进程通过该套接字接收并处理指令(如容器管理、镜像操作等),再由 containerd 等组件执行具体操作。


  1. 典型应用场景 • 容器内操作宿主机 Docker

    通过将宿主机的 /var/run/docker.sock 挂载到容器内(如 -v /var/run/docker.sock:/var/run/docker.sock),容器内可安装 Docker 客户端工具,直接操控宿主机的 Docker 环境。例如 Portainer、Kubernetes 等工具通过此方式实现容器编排。 • 替代 HTTP API

    开发者可通过发送 HTTP 请求到该套接字,绕过 Docker CLI 直接调用 Docker API。例如使用 curl --unix-socket 命令创建或管理容器,甚至监听 Docker 事件流(如容器启停)。


  1. 安全风险与注意事项 • 权限提升风险

    容器若挂载了此套接字,则等同于拥有宿主机 Docker 守护进程的完全控制权,可能导致容器逃逸或宿主机被攻击。因此需严格限制挂载范围,仅限可信容器使用。 • 权限配置建议

    ◦ 避免使用 root 用户运行容器,可通过将用户加入 docker 组实现非特权操作。

    ◦ 定期检查套接字文件权限(推荐 660 或 750),并确保所属组为 docker。


  1. 技术扩展与替代方案 • TCP 监听模式

    除 UNIX 套接字外,Docker 守护进程可通过 -H tcp://0.0.0.0:2375 参数开启 TCP 端口监听,适用于跨主机通信,但需配合 TLS 加密以增强安全性。 • 容器运行时接口(CRI)

    在 Kubernetes 等编排系统中,可通过 CRI 直接对接 containerd,减少对 Docker 的依赖。


总结 /var/run/docker.sock 是 Docker 生态中实现进程间通信的核心组件,其灵活性与高效性使其在开发调试、运维工具集成中广泛应用,但需严格管理权限以避免安全漏洞。如需进一步了解操作示例(如通过套接字执行 Docker 命令或监听事件),可参考具体实现文档。

编辑 (opens new window)
上次更新: 2025/06/10, 09:18:05
docker安装portainer图形化界面
docker-compose.yml配置文件最全选项详解

← docker安装portainer图形化界面 docker-compose.yml配置文件最全选项详解→

最近更新
01
集成loki
07-04
02
TCP的ESTABLISHED是什么意思
06-24
03
安装1panel
06-24
更多文章>
Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式