일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- maven
- spring boot
- duplicate lines
- install
- install maven
- gradle
- local
- 전송포맷
- svn backup
- Change port
- remove
- pkgutil
- docker
- spring
- change file content
- key bindings
- Jenkins
- mariadb
- Java
- ADB
- ^M바꾸기
- JavaScript
- object
- 줄복사
- jdbc
- not to accept jdbcUrl
- driverspy
- ubuntu
- JAR
- javaascript
- Today
- Total
Simplify
jenkins를 docker로 구동 시 사용자 변경하기 (Modify user in jenkins with docker) 본문
jenkins를 docker로 구동 시 사용자 변경하기 (Modify user in jenkins with docker)
Simplify - Jonghun 2019. 6. 17. 15:09docker 로 각종 서비스를 올리는 데 활용하고 있고, 현재까지는 mariadb, tomcat, jenkins 세 가지 서비스를 올려둔 상태입니다.
docker 의 경우 repository 설정을 통해서 docker container 내부의 특정 폴더를 외부(Host)의 특정 폴더로 mount 하여 사용할 수 있습니다. 이를 활용해서 mariadb 의 각종 데이터 디렉토리(mysql 폴더 등)와 tomcat 의 webapp, log 폴더 등을 Host에 mount 하여 사용하고 있습니다. 이와 마찬가지로 jenkins의 폴더 jenkins_home 도 그렇게 마운트하려고 했더니 자꾸 permission error 가 나오면서 동작이 되지 않습니다. 예를 들어, tomcat 같은 경우, 내부의 root 계정으로 실행이 되기 때문에 외부 폴더에 permission을 가지는데 반해, jenkins 는 내부적으로 jenkins 라는 계정을 통해서 실행되기 때문에 이러한 문제가 발생합니다.
이를 해결하기 위해서 여러가지 방법을 가이드하고 있고, 저 역시 다 수행해 보았지만, 제가 찾은 방법 중 가장 나아보이는 것을 찾아 아래와 같이 공유합니다. 거의 대부분의 가이드가 사용자마다의 id값이 존재하고, 그 값을 추가해주는 방법, 혹은 설치되고 나서 사용자 permission을 chmod / chown 등을 통해서 변경하는 방법 등이 존재합니다만, 저는 그 중에서 jenkins 계정을 생성하여 docker 그룹에 추가해주는 방법을 사용하기로 하였습니다.
우선 아래와 같이 입력하여 jenkins 계정을 생성합니다.
$ sudo useradd jenkins
그리고 다음과 같이 입력하여 docker 그룹에 jenkins 계정을 추가합니다.
$ sudo usermod -aG docker jenkins
이렇게 하면 다음과 같이 jenkins_home 디렉토리를 외부 host 로 mount 해도 정상 동작함을 확인하였습니다. 참고용으로 제 docker-compose.yml 파일을 공유합니다.
version: '3.1'
services:
jenkins:
image: jenkins/jenkins:2.176.1
container_name: "jenkins"
restart: always
ports:
- "60180:8080"
# - "60150:50000"
volumes:
- ~/docker/jenkins/var/jenkins_home:/var/jenkins_home
'Web & Server > Docker & Container' 카테고리의 다른 글
Jenkins 에 Maven 설치하기 (How to install maven in jenkins) (0) | 2019.07.05 |
---|---|
Spring Boot 를 Java docker 이용해서 구동하기(How to run Spring Boot with java docker container) (0) | 2019.07.02 |
Docker-compose 를 이용해 편하게 docker 쓰기 (1) | 2019.06.13 |
sudo 없이 docker 명령어 실행하기 (Run 'docker' command without 'sudo') (0) | 2019.06.13 |
우분투에 도커 설치하기 (How to install Docker in Ubuntu 18.x) (0) | 2019.06.13 |