关于/var/run/docker.sock那些事儿

一旦涉及到docker,经常会发现有时会需要挂载文件 /var/run/docker.sock
docker是client+server架构,使用命令docker version就可看出

docker由client和server组成,输入docker version命令实,际上是通过客户端将请求发送到docker的守护进程doceker daemon服务上,由docker daemon返回信息,客户端收到信息后展示在控制台上。

相当于一个server,监听来自/var/run/docker.sock的请求,然后做出各种响应

/var/run/docker.sock是什么?什么作用?

/var/run/docker.sock是docker daemon监听的套接字socket(ip+port),容器中的进程可以通过它与docker daemon通信。

挂载/var/run/docker.sock文件是被被映射到了容器内,有以下两个作用:
1.在容器内只要向/var/run/docker.sock发送http请求就能和Docker Daemon通信。
2.如果容器内有docker文件,那么在容器内执行docker ps、docker port这些命令,和在宿主机上执行的效果是一样的,因为它们的请求发往的是同一个docker daemon;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
/var/run/docker.sockDocker守护进程与Docker客户端之间的Unix套接字文件。它用于在主机和Docker守护进程之间进行通信。如果没有/var/run/docker.sock文件,将无法与Docker守护进程建立连接,从而无法执行Docker相关操作。 /var/run/docker.sock文件的存在对于Docker的正常运行非常重要。如果该文件丢失或损坏,可能会导致以下问题: - 无法启动或停止容器 - 无法创建或删除镜像 - 无法执行Docker命令 如果你的系统中没有/var/run/docker.sock文件,可能是由于以下原因之一: 1. Docker守护进程未正确启动:请确保Docker守护进程正在运行。你可以使用以下命令检查Docker守护进程的状态: ```shell sudo service docker status ``` 如果守护进程未运行,请使用以下命令启动它: ```shell sudo service docker start ``` 2. Docker安装不完整或损坏:如果你的Docker安装不完整或损坏,可能会导致缺少/var/run/docker.sock文件。在这种情况下,你可以尝试重新安装Docker来修复问题。 3. 文件权限问题:请确保/var/run/docker.sock文件的权限正确设置。通常,该文件的所有者应为root用户,组也应为root。你可以使用以下命令检查和更改文件的权限: ```shell ls -l /var/run/docker.sock sudo chown root:root /var/run/docker.sock ``` 请注意,对于某些操作系统或Docker安装方式,/var/run/docker.sock文件的位置可能会有所不同。某些情况下,它可能位于/run/docker.sock或其他位置。你可以根据你的系统和安装方式进行相应的调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值