在Jenkins服务器上设置Docker
我正在将自由式Jenkins项目升级到pipe道。 我也想用Docker来打包我们的应用程序。 我已经安装了Cloudbees Docker构build和发布插件。 我也在Jenkins服务器上安装了Docker。 将Jenkins用户添加到docker组。 当我login到jenkins服务器,并进入工作区,我可以运行没有任何错误的docker命令和图像的内置,但在Jenkinsfile中,我得到以下错误。
[eline_jenkins-pipeline-test- PBD3XJTE26LKZXM5M45IPRS3DXQANE4R2Q6GCDSZAPOHBNXKQDQQ] Running shell script + docker build -t test-image . Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.32/build? dial unix /var/run/docker.sock: connect: permission denied
我的Jenkinsfile如下所示:
stage('Build Docker Container') { steps { script{ def app = docker.build "my-app:0.2" } } }
过去,我曾经和jenkins和docker工作过,但当时我把jenkins用作容器,在这种情况下,不可能搬到集装箱化的jenkins。 任何帮助将不胜感激。
我设法通过将/var/run/dock.sock文件的权限更改为666来解决此问题。它的默认权限是660,我不明白为什么在docker组中的Jenkins用户无法访问此文件当执行pipe道作业,但它可以直接在命令行。 这是一个解决方法,它为我工作。 我希望这会帮助别人。
- 如何正确启动OpenShift v3应用程序
- Docker组成环境和path
- 如何使用ES Docker镜像部署由多个主机组成的Elastic Search群集?
- 获取composer php(PHP的依赖pipe理器)运行在docker上的图像构build
- 如何使用docker-compose.yml为elasticsearch.yaml文件设置network.publish_host
- 在Fedora的Docker中创build多个PostgreSQL容器
- CircleCI 2.0的configuration问题 – json:不能将string解组成Gotypes的config.JobDescriptiontypes的值
- Docker Cloud WordPress堆栈工作stream优化
- 无法使用匿名访问disbaled推送到dockerregistry