반응형
도커의 편리함이라면 개발자 누구나 알 것이다.
이번에는 String boot.war파일을 도커 이미지화 시킨 후 서버에 띄우는 방법을 설명하겠다.
boot.war파일 Docker Build 하는법
Docker Build를 하기 위해서는 3가지가 필요하다.
- openjdk 이미지
- Dockerfile
- boot.war
- spring boot로 개발한 파일을 maven build를 진행하여 .war파일을 생성 해 준다. (maven build하는법은 많이 나와있으니 따로 설명하지 않도록 하겠다)
- Dockerfile과 boot.war를 같은 폴더에 넣고 Dockerfile을 이용해 이미지를 생성한다. Dockerfile에 대한 내용은 아래를 참고하자
Dockerfile
- war파일을 Run 하기 위해 openjdk를 base image로 지정한다.
- 로그를 위한 폴더와 war파일을 넣어줄 폴더를 생성한다.
- war파일을 이미지 내부로 옮긴다.
- 기본 폴더를 /data2/potal/web으로 지정한 뒤
- 이미지가 Build 된 후 컨테이너 내부에서 실행되는 명령어를 ENTRYPOINT에 적어준다.
FROM openjdk:11-jdk
RUN mkdir -p /data2/potal/web
RUN mkdir -p /data2/potal/logs
ADD boot.war /data2/potal/web/boot.war
WORKDIR /data2/potal/web
ENTRYPOINT java -Dspring.proriles.active=loc -jar boot.war
- Dockerfile과 boot.war파일이 있는 폴더로 이동하여 build를 한다.
docker build -t boot-image
- 이후 이미지를 확인해 보면 boot-image라는 이미지가 생성되어 있을것이다.
- 이미지를 가지고 원하는 포트와 볼륨을 지정해서 run 해주면 된다.
- --rm(Container stop시 삭제하도록 설정), -d(백그라운드 실행), -p(포트 설정- 호스트 외부포트:컨테이너 내부포트) -v(볼륨 마운드 호스트 저장소:컨테이너 저장소)
docker run --rm -d -p 8080:8080 -v app/potal:data2/potal boot-image
끝
반응형
'Docker' 카테고리의 다른 글
[Docker] 외부에서 container 접근 불가 #Docker chain오류 #Docker network오류 (0) | 2023.04.28 |
---|---|
Docker에서 Ubuntu 20.04 시작하기 (0) | 2023.03.08 |
[DOCKER] 도커 일반 사용자에게 권한 부여 (0) | 2022.12.14 |
[DOCKER] Windows 10 Docker image 내보내기 #export Docker Image in Windows 10 #wsl docker (0) | 2022.12.07 |
[DOCKER] WSL 2 install is incomplete #윈도우 10 docker 설치 오류 # 도커 커널 업데이트 (0) | 2022.11.30 |