war 파일 배포를 위한 docker 이미지 생성하기

hyun·2022년 11월 14일
0
post-thumbnail

도커 이미지 생성부터 도커로 war 배포하는 데 필요한 명령어를 정리해보려고 한다.

이 포스트에서는 docker 이미지 생성까지 다루고 다음 포스팅에서는 만든 이미지로 docker 배포하는 과정을 담을 예정이다.


그러면.. 레츠기릿!


도커 이미지로 사용할 파일 생성

#touch dockerImage

도커 파일 수정을 위해 vim 에디터 실행

#vim dockerImage

도커 이미지 작성

위에서 생성한 dockerImage파일에 아래 내용 입력 후 저장

!. 여기서 #은 주석

# tomcat에서 제공하는 tomcat 8.5ver + java jre8인 이미지 가져옴
FROM tomcat:8.5-jre8

# 톰캣 타임존 설정
RUN ["rm", "/etc/localtime"]
RUN ["ln", "-sf", "/usr/share/zoneinfo/Asia/Seoul", "/etc/localtime"]

COPY setenv.sh /usr/local/tomcat/bin


#추후 간단한 파일 편집을 위해 컨테이너 내부에 vim 설치
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "vim", "-y"]

#컨테이너 내부에 필요한 파일을 복사한다. 예를들어 war, 위 타임존 세팅할 때 사용할 setenv.sh 파일
#COPY {복사할 파일} {복사하여 붙여넣을 컨테이너 내 위치}
COPY ./service.war /usr/local/tomcat/webapps

# 컨테이너 외부에서 사용하는 포트 지정
EXPOSE 8080

#start tomcat
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

참고로 setenv.sh 파일에는 아래 내용이 있다.

#!/bin/bash
export CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+9"

도커 이미지 빌드

docker build -t {이미지 태그} -f ./{도커 파일} {빌드된 파일 위치}

# docker build -t hyun/service:1.0 -f dockerImage .

docker build의 명령어 경우 현재 경로의 Dockerfile을 빌드한다.
위 명령어의 -f 옵션이 사용할 이미지 파일을 지정하는 것으로 같은 경로 내 여러 도커 파일을 생성하여 사용하고 싶은 경우에 활용할 수 있다.


빌드한 도커 이미지 파일 저장하기

docker save -o {내보낼 파일명 및 확장자} {이미지 태그}

# docker save -o dockerImage.tar hyun/service:1.0





출처

gif 출처

https://giphy.com/gifs/BpGWitbFZflfSUYuZ9?utm_source=iframe&utm_medium=embed&utm_campaign=Embeds&utm_term=https%3A%2F%2Fvstudio.live%2F

profile
크리스마스 캐럴을 좋아하는 사람!

0개의 댓글