I am new to docker, so if this is a fairly obvious process that I am missing, I do apologize for the dumb question up front.
I am setting up a continuous integration server using the jenkins
docker image. I did a docker pull jenkins
, and created a user jenkins
to allow me to mount the /var/jenkins_home
in the container to my host's /var/jenkins_home
(also owned by jenkins:jenkins
user).
the problem is that the container seems to define the jenkins
user with uid 102, but my host has the jenkins
user as 1002, so when I run it I get:
docker run --name jenkins -u jenkins -p 8080 -v /var/jenkins_home:/var/jenkins_home jenkins
/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied
I would simply make the uid for the host's jenkins
user be 102 in /etc/passwd
, but that uid is already taken by sshd. I think the solution is to change the container to use uid 1002 instead, but I am not sure how.
Edit
Actually, user 102 on the host is messagebus, not sshd.