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 서비스 설계 구성
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