<.jar 파일을 docker 로 올리고 tar 파일로 저장해서 운영서버에 올리는 작업>
1. jar 파일이 생성된 build/libs 폴더에 Dockerfile 을 작성
- 구성은 크게 아래와 같다.
- Base Image를 선택한다.
- Image 생성을 위한 작업을 적어준다.(e.g. npm install, COPY code, etc.)
- 컨테이너 시작시 실행할 명령어를 입력한다
- touch Dockerfile 명령어로 Dockerfile을 생성하고, 아래 내용을 추가한다. (vim)
FROM openjdk:17-alpine
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} pds.jar
ENV TZ=Asia/Seoul
ENTRYPOINT ["java", "-jar", "pds.jar"]
CMD ["pds docker image test"]
- FROM: 새로운 이미지를 생성할 때, 기반으로 사용할 이미지를 지정
- openjdk17 버전
- ARG: 이미지 빌드 시점에서 사용할 변수 지정
- jar 파일의 경로를 JAR_FILE 이라는 이름을 가진 변수
- COPY: 호스트에 있는 파일, 디렉토리를 Docker 이미지의 파일 시스템으로 복사
- jar 파일을 Docker 이미지 안에서 사용할 수 있도록 복사
- ENV: 컨테이너에서 사용할 환경변수 지정
- ENTRYPOINT: 컨테이너가 실행될 때 실행될 때 항상 실행되어야 하는 명령어 지정
- 도커 컨테이너를 실행할 때, jar 파일을 실행하도록 하기 위해 작성
2. Build Image
- Default Dockerfile
docker build ./
- docker build --platform="linux/amd64" --tag dockerfile:0.1 .
- 특정 Dockerfile 지정( -f옵션)
- Dockerfile이 아닌 다른 이름으로 만들었다면 아래 명령어로 직접 file을 지정
docker build -f 파일명
- Docker Images 명령어로 확인
- Docker run 명령어로 실행확인
docker run --name test-dockerfile -p 8090:8090 dockerfile:0.1