You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

系统重启后Docker容器内Jenkins无法访问docker.sock问题求助

解决Docker套接字权限问题及Jenkins容器连接宿主机Docker的方案

报错信息

ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/_ping : dial unix /var/run/docker.sock: connect: permission denied

问题背景

  • 已尝试给docker.sock添加sudo权限、修改权限为666,但系统重启后权限会重置,且知晓666权限存在安全风险
  • 需求:要么持久化docker.sock的权限设置,要么解决Jenkins容器与宿主机docker.sock的连接问题
  • 试过Stack Overflow上的方案,均未解决

方案一:通过用户组持久化权限(推荐,无安全风险)

这是Docker官方推荐的方式,避免直接修改套接字权限带来的安全隐患:

  1. 宿主机确认docker用户组存在,不存在则创建:
    sudo groupadd docker
    
  2. 将宿主机中启动Jenkins容器的用户加入docker组:
    sudo usermod -aG docker $USER
    
  3. 重启Docker服务:
    sudo systemctl restart docker
    
  4. 退出当前终端重新登录,使组权限生效

如果是Jenkins容器内部需要访问宿主机docker.sock,需额外配置:

  • 启动容器时挂载宿主机的/etc/group文件,同步宿主机组信息:
    docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v /etc/group:/etc/group -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
    
  • 进入容器,将jenkins用户加入docker组:
    docker exec -it <你的Jenkins容器ID> bash
    usermod -aG docker jenkins
    
  • 重启Jenkins容器使权限生效

方案二:持久化设置docker.sock权限(不推荐,有安全风险)

如果必须使用666权限,可通过systemd服务实现持久化:

  1. 创建systemd服务文件:
    sudo touch /etc/systemd/system/docker-sock-perms.service
    
  2. 编辑文件,写入以下内容:
    [Unit]
    Description=Set Docker socket permissions
    After=docker.service
    
    [Service]
    Type=oneshot
    ExecStart=/bin/chmod 666 /var/run/docker.sock
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl enable docker-sock-perms.service
    sudo systemctl start docker-sock-perms.service
    

此配置会在每次Docker服务启动后自动设置docker.sock为666权限,系统重启后依然生效

方案三:使用Docker-in-Docker(DinD)(适用于隔离场景)

如果不需要共享宿主机Docker环境,可使用DinD模式:

  • 启动Jenkins DinD镜像:
    docker run -d --privileged -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-dind
    

这种模式下容器内有独立的Docker daemon,无需挂载宿主机docker.sock,但资源占用较高,且与宿主机环境完全隔离


内容的提问来源于stack exchange,提问作者hanisntsolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:18:32