У меня есть изображение jenkins-slave, в котором я добавил jenkins в группу докеров
RUN usermod -aG docker jenkins
И затем я использую это изображение в работе следующим образом
podTemplate(label: 'builder-pod-startclust', cloud: 'kubernetes', containers: [
containerTemplate(
name: 'jnlp',
image: "${artifact_repo}/jenkins-slave:ekslave",
ttyEnabled: true,
privileged: true,
alwaysPullImage: true,
workingDir: '/var/jenkins_home',
resourceRequestCpu: '1000m',
resourceRequestMemory: '1Gi',
resourceLimitMemory: '1.1Gi',
)
], volumes: [hostPathVolume(mountPath: '/var/run', hostPath: '/var/run')],
annotations: [
podAnnotation(key: 'iam.amazonaws.com/role', value: 'arn:aws:iam::XXXXXXXX:role/kube2iam-role')
]) { //podtemplate
Однако,при запуске команд докера, например, docker version
, в модуле jenkins-slave возникают проблемы с правами доступа
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.39/version: dial unix /var/run/docker.sock: connect: permission denied
Мастер yenl jenkins выглядит следующим образом
containers:
- name: jenkins-container
image: $artifact_repo/jenkins:latest
...
volumeMounts:
- mountPath: /var/run
name: docker-sock