当前位置: 首页 > 工具软件 > DIND > 使用案例 >

dind can‘t create unix socket /var/run/docker.sock

严修诚
2023-12-01

今天在k8s集群里看到了一个报错,在集群内存在一个容器docker in docker,发生了故障没有启动成功,查看日志显示 gateone-dind容器报错docker.sock应该是个文件,而在物理机的/apps/dind/run内确是个文件夹。
gateone-dind.yml写的需要将run文件夹挂载到容器内的/var/run,同时也把docker.sock挂载进入了pod容器内,所以会报错提示文件类型错误,只需要将宿主机/apps/dind/run内的docker.sock删除或者移走再重新创建pod,dind就可以成功启动。

日志记录:

/ # kubectl logs -f  gateone-dind-59d8fffb4f-gdxq8 -n falcon
Could not load host key: /etc/ssh/ssh_host_dsa_key
time="2021-03-02T09:47:36.109495225+08:00" level=warning msg="could not change group /var/run/docker.sock to docker: group docker not found"
Failed to load listeners: can't create unix socket /var/run/docker.sock: is a directory

gateone-dind.yaml文件:

...
volumeMounts:
    - name: var-run
      mountPath: /var/run
...
volumes:
	- name: var-run  
       hostPath:            
         path: /apps/dind/run
         type: DirectoryOrCreate       
...
 类似资料: