docker-compose를 사용하여 개발 환경에서 Jenkins를 움직일 수있게했을 때의 트러슈
7060 단어 docker-composeJenkins도커
docker-compose를 사용하여 개발 환경에서 jenkins를 실행할 수 있도록 허용
/var/jenkins_home의 권한 오류
docker-compose.ymlversion: "3"
services:
master:
container_name: master
image: jenkins:latest
ports:
- 18080:8080
volumes:
- ./jenkins_home:/var/jenkins_home
docker-compose.yml을 위와 같이 쓰면 docker-compose up
master | touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
master | Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
라는 오류 메시지가. ↓의 기사를 참고로 볼륨을 /var/lib/jenkins_home
로 했더니 퍼미션 에러는 일어나지 않게 되었습니다.
docker-compose permission denied: 헵포코 SE의 메모 메모
Jenkins 플러그인 설치 실패
무사 docker-compose up
가 성공하고 Jenkins가 일어서 브라우저에서 액세스하여 설정을 완료하려고했지만,
이 유사.
조사한 결과, Matser에 사용한 이미지가 좋지 않은 모양.
Jenkins의 이미지에는 두 가지 유명한 것이 있으며 혼동하기 쉽습니다. jenkins와 jenkins/jenkins는 다른 이미지입니다.
전자는 docker 공식 이미지이며, 후자는 jenkins 팀이 유지 관리합니다.
공식 쪽이 좋다고 생각할지도 모릅니다만, 개발에는, 후자가 취급하기 쉽다고 생각합니다.
proxy 뒤에 Jenkins 플러그인을 설치할 때 오류 해결 (docker&windows)
image: jenkins/jenkins:latest
로 다시 쓰고 플러그인을 다시 설치하는 것이 좋습니다.
Matser가 slave01을 인식하지 못함
Master의 준비가 완료되었으므로, 드디어 slave를 세워 소통시키려고 했습니다만, [신규 노드 작성]을 해도 ↓의 slave02와 같은 상태로...(이미지는 성공한 후의 것입니다)
로그를 보면 SSH 로그인 자체는 만들어진 것 같습니다만,
[SSH] Checking java version of /usr/local/java/bin/java
Couldn't figure out the Java version of /usr/local/java/bin/java
bash: /usr/local/java/bin/java: No such file or directory
처럼 Java 버전을 얻을 수없는 오류가 발생한 것 같습니다.
시험에 slave01 컨테이너에 들어가 확인해 보면,
$ sudo docker exec -it slave01 which java
/usr/local/openjdk-8/bin/java
$ sudo docker exec -it slave01 java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
그거, 취득할 수 있는···?
잠시 고민한 후 [신규 노드 작성]의 [인증 정보]에서 입력한 사용자 이름이 jenkins
이었음을 기억하고 이번에는 jenkins
사용자로 slave01에 들어가면,
$ sudo docker exec -it slave01 su - jenkins
jenkins@9a5854980721:~$ java -version
-su: java: command not found
jenkins@9a5854980721:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Java 명령이 들어 있는 /usr/local/openjdk-8/bin
가 jenkins
사용자의 환경 변수 PATH
에 들어 있지 않은 것이 판명되었습니다.
jenkins
사용자의 PATH
를 변경하는 것보다 경로가있는 디렉토리에 /usr/local/openjdk-8/bin/java
의 심볼릭 링크를 넣는 것이 좋은 것으로 밝혀졌습니다. 1 에 ↓ docker-compose.yml
를 놓고 Dockerfile
도 다시 썼습니다. (Dockerfile 쓰지 않고 할 수 있는 방법이 있으면 가르쳐 주었으면 합니다)
FROM jenkinsci/ssh-slave
RUN ln -s /usr/local/openjdk-8/bin/java /usr/local/bin/java
docker-compose.ymlversion: "3"
services:
master:
container_name: master
image: jenkins/jenkins:latest
ports:
- 18080:8080
volumes:
- ./jenkins_home:/var/lib/jenkins_home
links:
- slave01
slave01:
container_name: slave01
build: .
environment:
- JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAA...
이제 docker-compose.yml
를 실행하면,
$ docker-compose up -d
Recreating slave01 ... done
Recreating master ... done
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------
master /sbin/tini -- /usr/local/b ... Up 50000/tcp, 0.0.0.0:18080->8080/tcp
slave01 setup-sshd Up 22/tcp
제대로 일어나고 있습니다. 그 후 잘 소통시킨 것은 위에 붙인 스쿠쇼대로입니다.
감상
어쨌든 있었지만, 역시 Docker Compose는 편리하다고 생각했습니다.
htps : // 일단 s. 지 킨 킨 -. rg/b로w세/지킨킨 S-18767? 후쿠세세 d코멘치 d=313660&파게=코m. 아 t ぁしあん. 지라. pㅅ긴. sys m. 이스에타 b 파네 ls : 코멘 t - b 파네 l # 코멘 t - 313660 ↩
Reference
이 문제에 관하여(docker-compose를 사용하여 개발 환경에서 Jenkins를 움직일 수있게했을 때의 트러슈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yagaodekawasu/items/c2c4b29febd21a489f17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
version: "3"
services:
master:
container_name: master
image: jenkins:latest
ports:
- 18080:8080
volumes:
- ./jenkins_home:/var/jenkins_home
master | touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
master | Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
무사
docker-compose up
가 성공하고 Jenkins가 일어서 브라우저에서 액세스하여 설정을 완료하려고했지만,이 유사.
조사한 결과, Matser에 사용한 이미지가 좋지 않은 모양.
Jenkins의 이미지에는 두 가지 유명한 것이 있으며 혼동하기 쉽습니다. jenkins와 jenkins/jenkins는 다른 이미지입니다.
전자는 docker 공식 이미지이며, 후자는 jenkins 팀이 유지 관리합니다.
공식 쪽이 좋다고 생각할지도 모릅니다만, 개발에는, 후자가 취급하기 쉽다고 생각합니다.
proxy 뒤에 Jenkins 플러그인을 설치할 때 오류 해결 (docker&windows)
image: jenkins/jenkins:latest
로 다시 쓰고 플러그인을 다시 설치하는 것이 좋습니다.Matser가 slave01을 인식하지 못함
Master의 준비가 완료되었으므로, 드디어 slave를 세워 소통시키려고 했습니다만, [신규 노드 작성]을 해도 ↓의 slave02와 같은 상태로...(이미지는 성공한 후의 것입니다)
로그를 보면 SSH 로그인 자체는 만들어진 것 같습니다만,
[SSH] Checking java version of /usr/local/java/bin/java
Couldn't figure out the Java version of /usr/local/java/bin/java
bash: /usr/local/java/bin/java: No such file or directory
처럼 Java 버전을 얻을 수없는 오류가 발생한 것 같습니다.
시험에 slave01 컨테이너에 들어가 확인해 보면,
$ sudo docker exec -it slave01 which java
/usr/local/openjdk-8/bin/java
$ sudo docker exec -it slave01 java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
그거, 취득할 수 있는···?
잠시 고민한 후 [신규 노드 작성]의 [인증 정보]에서 입력한 사용자 이름이 jenkins
이었음을 기억하고 이번에는 jenkins
사용자로 slave01에 들어가면,
$ sudo docker exec -it slave01 su - jenkins
jenkins@9a5854980721:~$ java -version
-su: java: command not found
jenkins@9a5854980721:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Java 명령이 들어 있는 /usr/local/openjdk-8/bin
가 jenkins
사용자의 환경 변수 PATH
에 들어 있지 않은 것이 판명되었습니다.
jenkins
사용자의 PATH
를 변경하는 것보다 경로가있는 디렉토리에 /usr/local/openjdk-8/bin/java
의 심볼릭 링크를 넣는 것이 좋은 것으로 밝혀졌습니다. 1 에 ↓ docker-compose.yml
를 놓고 Dockerfile
도 다시 썼습니다. (Dockerfile 쓰지 않고 할 수 있는 방법이 있으면 가르쳐 주었으면 합니다)
FROM jenkinsci/ssh-slave
RUN ln -s /usr/local/openjdk-8/bin/java /usr/local/bin/java
docker-compose.ymlversion: "3"
services:
master:
container_name: master
image: jenkins/jenkins:latest
ports:
- 18080:8080
volumes:
- ./jenkins_home:/var/lib/jenkins_home
links:
- slave01
slave01:
container_name: slave01
build: .
environment:
- JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAA...
이제 docker-compose.yml
를 실행하면,
$ docker-compose up -d
Recreating slave01 ... done
Recreating master ... done
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------
master /sbin/tini -- /usr/local/b ... Up 50000/tcp, 0.0.0.0:18080->8080/tcp
slave01 setup-sshd Up 22/tcp
제대로 일어나고 있습니다. 그 후 잘 소통시킨 것은 위에 붙인 스쿠쇼대로입니다.
감상
어쨌든 있었지만, 역시 Docker Compose는 편리하다고 생각했습니다.
htps : // 일단 s. 지 킨 킨 -. rg/b로w세/지킨킨 S-18767? 후쿠세세 d코멘치 d=313660&파게=코m. 아 t ぁしあん. 지라. pㅅ긴. sys m. 이스에타 b 파네 ls : 코멘 t - b 파네 l # 코멘 t - 313660 ↩
Reference
이 문제에 관하여(docker-compose를 사용하여 개발 환경에서 Jenkins를 움직일 수있게했을 때의 트러슈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yagaodekawasu/items/c2c4b29febd21a489f17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[SSH] Checking java version of /usr/local/java/bin/java
Couldn't figure out the Java version of /usr/local/java/bin/java
bash: /usr/local/java/bin/java: No such file or directory
$ sudo docker exec -it slave01 which java
/usr/local/openjdk-8/bin/java
$ sudo docker exec -it slave01 java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
$ sudo docker exec -it slave01 su - jenkins
jenkins@9a5854980721:~$ java -version
-su: java: command not found
jenkins@9a5854980721:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
FROM jenkinsci/ssh-slave
RUN ln -s /usr/local/openjdk-8/bin/java /usr/local/bin/java
version: "3"
services:
master:
container_name: master
image: jenkins/jenkins:latest
ports:
- 18080:8080
volumes:
- ./jenkins_home:/var/lib/jenkins_home
links:
- slave01
slave01:
container_name: slave01
build: .
environment:
- JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAA...
$ docker-compose up -d
Recreating slave01 ... done
Recreating master ... done
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------
master /sbin/tini -- /usr/local/b ... Up 50000/tcp, 0.0.0.0:18080->8080/tcp
slave01 setup-sshd Up 22/tcp
어쨌든 있었지만, 역시 Docker Compose는 편리하다고 생각했습니다.
htps : // 일단 s. 지 킨 킨 -. rg/b로w세/지킨킨 S-18767? 후쿠세세 d코멘치 d=313660&파게=코m. 아 t ぁしあん. 지라. pㅅ긴. sys m. 이스에타 b 파네 ls : 코멘 t - b 파네 l # 코멘 t - 313660 ↩
Reference
이 문제에 관하여(docker-compose를 사용하여 개발 환경에서 Jenkins를 움직일 수있게했을 때의 트러슈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yagaodekawasu/items/c2c4b29febd21a489f17텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)