jenkins - Docker Hub
DEPRECATION NOTICE This image has been deprecated in favor of the jenkins/jenkins:lts image provided and maintained by Jenkins Community as part of project's release process. The images found here will receive no further updates after LTS 2.60.x. Please ad
hub.docker.com
해당 이미지를 이용해서, docker volume을 사용하면서 컨테이너를 생성하고자 할 때 권한 오류로 인해서 컨테이너가 실행이 되지 않는다.
docker run --name jks -p 8080:8080 -p 50000:50000 -v <볼륨으로 사용할 디렉토리>:/var/jenkins_home jenkins
[chils@localhost 03_JKS]$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
418995ad594b jenkins/jenkins:lts "/sbin/tini -- /usr/…" 3 seconds ago Exited (1) 2 seconds ago jks
docker logs로 오류를 확인해보면..
[chils@localhost 03_JKS]$ sudo docker logs jks
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
퍼미션 문제로 파일을 생성할 수 없다고 한다.
구글링하여 찾아본 결과, 해답이 있었다.
볼륨으로 사용할 디렉토리를 먼저 생성하고
sudo chown 1000 <볼륨으로 사용할 디렉터리>
해당 디렉토리의 권한을 변경해준다음 (강제적으로 1000의 UID에 권한 부여)
기존 생성된 docker 컨테이너는 삭제해준다.
sudo docker stop <컨테이너ID 혹은 이름> && sudo docker rm <컨테이너ID or 이름>
다시 맨위의 명령으로 도커를 실행한다.
출처 : https://github.com/jenkinsci/docker/issues/177#issuecomment-163656932
Permission denied - /var/jenkins_home/copy_reference_file.log · Issue #177 · jenkinsci/docker
copy_reference_file.log owned by root and not jenkins docker run -it \ --env JAVA_OPTS="${JAVA_OPTS}" \ --env JENKINS_SLAVE_AGENT_PORT=50001 \ --name photobox-base-jenkins \ -p 8080:8080 ...
github.com