栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.

背景:

jinkens 之前是我使用docker部署的,因为要推送到私有库,需要改下配置,重启docker。重启之后所有的镜像没有了,容器也没有了,诡异。

只能再下载新的 jenkinsci/blueocean镜像,然后启动挂载之前的磁盘。

问题描述

由于项目里使用pipeline 和 docker 下载node 镜像部署前端。

pipeline {
  
    agent {
        docker {
            image 'node:16-alpine3.14' 
            args '-p 3000:3000' 
        }
    }
}

docker重启jinkens之后,再打包前端报错

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/node:16-alpine3.14/json": dial unix /var/run/docker.sock: connect: permission denied

原因分析:

之前都是使用下面命令启动容器:

docker run 
  # 第一个主机端口(浏览器访问端口)随便填,第二个容器端口
  -p 9090:8080 
  # 将jenkinsci/blueocean 容器的端口50000 映射到主机上的端口50000。
  -p 50000:50000 
  # 将容器目录映射到本地目录。 :前端是你指定的服务器目录,后边固定
  -v /data/jenkins-data:/var/jenkins_home 
  # 守护进程是必需的
  -v /var/run/docker.sock:/var/run/docker.sock 
  jenkinsci/blueocean

按照道理应该能拿到docker,看样子是,没有权限。想到之前把挂载jinkens的磁盘权限改了。应该运行的时候没有root权限运行。


解决方案:

root 权限运行jinkens

docker run  
  -u root 
  -p 9090:8080 
  -p 50000:50000 
  -v /data/jenkins-data:/var/jenkins_home 
  -v /var/run/docker.sock:/var/run/docker.sock 
  jenkinsci/blueocean
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号