Permission denied after start container jenkins

When creating a jenkins container, the following errors appear. What could be the problem?

jenkins_1  | touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
jenkins_1  | Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

It is my docker-compose:

version: '3.7'

services:

jenkins:
    image: jenkins/jenkins:lts
    ports:
      - 7080:8080
      - 50000:50000
    privileged: true
    volumes:
      - /tmp/jenkins-test:/var/jenkins_home

Upvotes: 1

Views: 6034

Answers (2)

Saurabh Chavhan
Saurabh Chavhan

Reputation: 1

if after doing all the permission and all things still if its not working then just change the volumes mapping like this..

./your_folder:/var/jenkins_home 

it will work fine..some time pwd is not works that will the create issue.

Upvotes: 0

Adiii
Adiii

Reputation: 59896

This is explained in the issue.

sudo chown 1000 /tmp/jenkins-test

If the directory already contains files:

sudo chown -R 1000 volume_dir

This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.

You must set the correct permissions in the host before you mount volumes sudo chown 1000 volume_dir

or you can try

Resolved albeit with torture involved.

Create a jenkins user on the host, note it's uid

docker run -u <jenkins-uid> ...

Do NOT docker run -u 'jenkins' - This causes the container's own jenkins user to continue to be used. Either choose a different name on the host and pass this through or pass through the resultant uid.

A bash script that can you try to run

#!/bin/bash
mkdir $PWD/jenkins

sudo chown -R 1000:1000 $PWD/jenkins

docker run -d -p 8080:8080 -p 50000:50000 -v $PWD/jenkins:/var/jenkins_home --name jenkins jenkins

Upvotes: 4

Related Questions