DockerFile 을 이용하여 나만의 Docker Image [Tomcat+Jenkins] 만들기
[설치 구성 : Centos 7.x, Tomcat 9.x,Jenkins 2.319.2] docker-compose.yml 설정 포함
2022년 NHN Cloud 무료 교육일정 : https://doc.skill.or.kr/2022-NHN-Cloud-Education
2022년 NHN Cloud 행사/프로모션 정보 공유 : https://doc.skill.or.kr/2022-NHN-Cloud-Event-Promotion
1. 먼저 알아 두기
1.1 DockerFile 이란?
DockerFile 은 코드의 형태로 인프라를 구성하는 방법을 텍스트 형식으로 저장해 놓은 파일이며 docker build 를 사용하여 자신만의 이미지를 만들 수 있다.
1.2 Docker Build 란?
DockerFile 및 컨텍스트로부터 이미지를 빌드하는 Docker 명령
1.3 Docker-Compose 란?
Compose는 멀티 컨테이너 도커 애플리케이션을 정의하고 실행하는 도구이다. YAML 파일을 사용하여 애플리케이션의 서비스를 구성하며 하나의 명령을 가지고 모든 컨테이너의 생성 및 시작 프로세스를 수행한다.
1.4 Jenkins 란?
소프트웨어 개발 시 지속적 통합(continuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다.
2. DockerFile을 이용하여 만들어 보자!!!
2.1 서비스 설계 구성
구분 | Service |
---|---|
Docker Hub Base Image | Centos 7.9.2009 |
Developer | OpenJDK11 |
Service | Tocmat 9.0.8 |
Jenkins Src | Jenkins 2.319.2 |
Service Port | 80 |
2.2 dockerfiles 폴더 구성
폴더 및 파일 | 설명 |
---|---|
dockerfile | DockerFile Build 파일 |
apache-tomcat-9.0.8-pre-install.tar.gz | Tomcat 설정 및 Jenkins 압축 파일 |
./conf/context.xml | Tomcat Manager 접근 제어 설정 |
./conf/server.xml | Tomcat Service 포트 설정 |
./conf/tomcat-user.xml | Tomcat Manager User/Password 설정 |
docker-compose.yml | docker-compose 실행 파일 |
2.3 Docker Image 만들기(Tomcat + Jenkins)
2.4 DockerFile Build 후 Docker Hub 업로드 하기
Step1. docker loign
Step2. 작성 한 DockerFile 에서 빌드 하기
• docker build -t tomcat_mariadb:jenkins1.0 .
• docker images ## 로컬에 저장된 Docker Images 확인
Step3. 로컬에 만든 이미지 실행 및 확인
• docker run -d -p 80:80 tomcat_mariadb:jenkins1.0
Step4. Docker Hub 이미지 업로드
• docker tag tomcat_mariadb:jenkins1.0 bchwang/tomcat_mariadb:jenkins1.0
• docker push bchwang/tomcat_mariadb:jenkins1.0
Step5. Docker Hub 에 등록된 이미지 확인
• Docker Hub 에 개인 개정으로 로그인 후 Docker Image 및 Tag 확인 Step6. Docker Hub 에 등록된 이미지로 실행 하기
• docker run -d -p 80:80 bchwang/tomcat_mariadb:jenkins1.0
3. docker 를 이용하여 실행 하기
3.1 docker 실행 하기
3.2 Tomcat+Jenkins 설정 확인
3.2.1 Tomcat 설정 확인(server.xml)
Tomcat 서비스 포트(80) 설정 하기 위해 server.xml 파일을 수정 하여 적용
파일 위치 : /home/jenkins/apache-tomcat-9.0.8/conf
3.2.2 Tomcat 설정 확인(tomcat-user.xml)
Tomcat Manager 로그인 권한 및 계정/비밀번호 설정
-> 계정 : admin, 비밀번호 : 1234567890
파일 위치 : /home/jenkins/apache-tomcat-9.0.8/conf
3.2.3 Tomcat 설정 확인(context.xml)
Tomcat Manager 접근 제한 설정
-> 제한 없음 설정
파일 위치 : /home/jenkins/apache-tomcat-9.0.8/webapps/manager/META-INF
4. docker-compose.yml 을 이용하여 실행 하기
4.1 docker-compose.yml 파일
4.2 docker-compose 실행 방법
4.3 docker-compose 중지 방법
4.4 conf 폴더 파일 정보
#3.2-tomcat+jenkins에서 설정 파일 정보 확인
5. Tomcat+Jenkins 접속 화면
5.1 Tomcat Manager 접속 화면
5.2 Jenkins 접속 화면
00. 오류 해결하기
00.1 Jenkins Administrator 초기 비밀번호
Jenkins Admin 초기 비밀번호는 /root/.jenkins/secrets/initialAdminPassword 에 저장되어 있음.
또는 Tomcat Logs 폴더의 catalina.out 에 Jenkins admin 정보가 남겨져 있음.
002. Tomcat Manager 접속 에러 [403 Access Denied]
위의 그림과 같은 Tomcat Manager 접속 에러 [403 Access Denied] 화면인 경우 context.xml 설정파일을 확인하여야 함. #3.2.3-tomcat-context.xml참고
003. Tomcat Manager Login 안됨
Tomcat Manager 접속 하였을때 Login 이 안되는 경우 tomcat-users.xml 의 설정 값을 확인 하여야 함 . #3.2.2-tomcat-tomcat-user.xml 참고
2022년 NHN Cloud 무료 교육일정 : https://doc.skill.or.kr/2022-NHN-Cloud-Education
2022년 NHN Cloud 행사/프로모션 정보 공유 : https://doc.skill.or.kr/2022-NHN-Cloud-Event-Promotion
Last updated