Recent Posts
Link
Archives
킹다의 개발블로그
jar 배포하는 도커파일(Docker-File) 만들기😲 본문
반응형
1. Dockerfile 이란?
- 코드 형태의 텍스트 문서이다. 여러가지 명령어(FROM, RUN, WORKDIR 등등)를 사용해서 이미지를 만들 수 있다.
jar 를 배포하는 도커파일 예시이다.
FROM adoptopenjdk/openjdk11:jre-11.0.6_10-alpine
RUN mkdir -p jar
WORKDIR /jar
COPY ./build/libs/sampleProject.jar boot.jar
ENTRYPOINT ["java", "-jar","/jar/boot.jar"]
EXPOSE 8080
전체적인 흐름을 살펴보면
- FROM 지시어를 통해서 jdk11버전이 설치된 이미지를 가져온다.
- jar라는 폴더를 만든다.
- 작업 디렉토리를 jar로 변경한다.
- 빌드된 jar파일(경로가 포함된)을 boot.jar로 이름을 바꾼 후 jar 폴더에 복사해 붙여넣는다.
- 컨테이너가 시작될 때 사용할 명령어를 써준다. jar를 배포할 것이기 때문에 java -jar~ 명령어를 작성해준다.
- 컨테이너의 포트를 지정해준다.
도커의 명령어들은 한번 더 표로 정리해보면
명령어 | 설명 |
FROM | 베이스 이미지 지정 |
RUN | 이미지를 지정하면서 실행할 명령 지정 |
ENTRYPOINT | 컨테이너의 어플 지정 (컨테이너 시작할 때 실행할 명령어) |
USER | 컨테이너의 사용자 지정 |
VOLUME | 컨테이너의 볼륨 지정 |
ENV | 컨테이너의 환경 변수 지정 |
LABEL | 이미지의 라벨 지정 |
CMD | 컨테이너의 어플 지정 (컨테이너 시작할 때 실행할 명령어) |
MAINTAINER | 이미지 작성자 명시 |
WORKDIR | 컨테이너 작업 디렉토리 지정 |
COPY | 이미지 생성 시 파일 복사 |
ADD | 이미지 생성 시 파일 추가 |
EXPOSE | 컨테이너의 포트 지정 |
CMD와 ENTRYPOINT의 차이점은 간략하게
ENTRYPOINT는 항상 실행이 되고, CMD는 docker run 명령어를 실행할 때, 변경이 가능하다고 한다.
다음에는 도커 컴포즈 만들기로 글을 써보겠다!
도커 명령어 참고 사이트 : https://rich-developer.tistory.com/32,
CMD와 ENTRYPOINT 차이점 : https://seokhyun2.tistory.com/61
반응형
'03. 서버 > docker' 카테고리의 다른 글
도커 컴포즈 (Docker-Compose) (0) | 2021.08.18 |
---|
Comments