gpt4 book ai didi

docker - 授予 jenkins 访问 unix :///var/run/docker. sock 的权限

转载 作者:行者123 更新时间:2023-12-02 20:29:47 25 4
gpt4 key购买 nike

我已将 docker 插件安装到 jenkins 中,并且正在尝试配置 docker 云。
我的 jenkins 安装在 docker 容器内运行,我已经绑定(bind)到主机上的 docker 套接字,如下所示:

version: '3.3'
services:
jenkins:
container_name: jenkins
ports:
- '7345:8080'
- '50000:50000'
volumes:
- /docker/jenkins/data/jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
image: 'jenkins/jenkins:lts'
此方法使用 docker-ce-cli 可以正常工作。如果我安装 cli 并绑定(bind)到主机的套接字,那么它就可以工作。
但是设置 Jenkins 我收到一个错误:
enter image description here
在 jenkins 容器内,一切都在用户“jenkins”下运行,UID 为 1000。在我的主机上,UID 1000 是一个名为“ubuntu”的用户。
我已将此用户添加到 docker 组
usermod -aG docker ubuntu
并检查了套接字权限:
# ls -lisa /var/run/docker.sock
833 0 srw-rw---- 1 root docker 0 Jul 22 22:02 /var/run/docker.sock
但是 Jenkins 仍然提示它没有权限。
授予 Jenkins 访问此套接字的权限的正确方法是什么?

最佳答案

其他线程中的任何自定义都不起作用,但我对其进行了一些调整,并使其与以下文件一起使用:

FROM jenkins/jenkins 

USER 0

ARG DOCKERGID=998

# Docker
RUN apt-get update \
&& apt-get install software-properties-common apt-transport-https ca-certificates gnupg-agent dialog apt-utils -y \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable" \
&& apt-get update \
&& apt-get install docker-ce-cli -y

# Setup users and groups
RUN addgroup --gid ${DOCKERGID} docker
RUN usermod -aG docker jenkins

USER 1000

关于docker - 授予 jenkins 访问 unix :///var/run/docker. sock 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63095927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com