docker

[Docker]도커 컨테이너에 WAS 설치 후 배포해보기

joje* 2024. 9. 18. 19:33

개인용 프로젝트에서 Docker 컨테이를 이용해 서버를 여러 대 띄워 사용할 경우가 많지는 않지만 Docker의 전반적인 작동방법을 익힐 수 있을 것 같아 시도해보았다. 

실행계획은 아래와 같이 간단하다.

 

1. 테스트용 Docker 컨테이너 생성

2. 테스트 컨테이너 내부에 Tomcat, JDK 설치

3. host에서 빌드된 배포파일을 컨테이너 내부 배포경로에 복사

4. 서버를 기동시켜서 결과 확인

 

- DockerDesktop으로 Docker 실행 후 cmd CLI를 이용해 작업, 폐쇄망이 아닌 상황을 가정해 작업하였다.

 

1. 테스트용 Docker 컨테이너 생성

cmd 창에서 아래 명령어를 이용해 test용 컨테이너 생성 및 확인

docker run -it --name tomcat -p80:8080 ubuntu:20.04
docker ps

 

 

** -p 옵션의 포트포워딩 포트는 host:컨테이너 내부 포트로 구성되며 Tomcat의 기본 포트인 8080으로 설정.

만약 8080아닌 다른 포트를 이용해야 한다면 Tomcat server.xml 파일의 connector 포트를 변경시켜주어야 한다.

 

2. 테스트 컨테이너 내부에 Tomcat, JDK 설치

아래의 명령어를 이용해 컨테이어 접속 후 컨테이너 내부에 Tomcat과 JDK를 설치 

docker attach tomcat
apt-get update
apt-get install wget
apt-get install openjdk-17-jdk
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.30/bin/<파일이름>.tar.gz
tar -xzvf <파일이름>.tar.gz

3. host에서 빌드된 배포파일을 컨테이너 내부 배포경로에 복사

컨테이너에서 빠져나와 cmd 창에서 아래의 명령어를 이용해 배포경로에 파일을 복사

docker cp <host 경로> <컨테이너 이름>:<배포경로 ex)../webapps>

 

4. 서버를 기동시켜서 결과 확인

컨테이너에 접속 후 '<Tomcat설치 폴더>/bin' 경로 아래에 startup.sh 파일을 실행 후 웹 페이지에서 localhost:<host포트>를 이용해 결과확인

cd <Tomcat설치 폴더>/bin
sh startup.sh

 

** 서버 기동이 안되거나 문제발생시 

cd <Tomcat설치 폴더>/logs로 이동해 아래 명령어로 로그를 확인해 문제원인 파악이 가능하다.

tail -f catalina.out