다가오는 다음을 향해

[Docker] 도커파일(Dockerfile)로 이미지 빌드하기 - Jar 본문

Server/Docker

[Docker] 도커파일(Dockerfile)로 이미지 빌드하기 - Jar

hyeseo 2022. 9. 26. 14:38

 💡 간단하게 도커파일을 작성 및 이미지 빌드하는 방법 입니다.


▼ 목차

☘️ 도커파일(Dockerfile) 이란?

☘️ 도커파일(Dockerfile) 기본구문

☘️ 도커파일(Dockerfile) 명령

☘️ 도커파일(Dockerfile) 작성방법

  • 도커파일(Dockerfile) 만들기
  • 도커파일(Dockerfile) 작성하기

☘️ 도커파일(Dockerfile) 이미지 빌드하기

 

 

▼ 개발환경

더보기

MacBook Pro M1 


### Programming language - java-1.8 

### Framework
- Spring Framework : SpringBoot 2.7.3
- Persistence Framework : JPA - Hibernate

### Build Tool
- gradle 7.5

### WAS
- 내장 Tomcat

### DB
- MySql - 8.0.30

### IDE
- IntelliJ IDEA (Ultimate Apple Silicon 2022-02)

### Library
- Lombok - 1.18.24

 

 

🌱 사전준비


📌  Docker 회원가입  https://hub.docker.com/

📌  Docker Desktop (Mac) 설치   https://tira-0.tistory.com/218

📌  bootJar 만들기

 

☘️ 도커 파일(Dockerfile) 이란?


  • Docker 상에서 작동시킬 컨테이너의 구성정보를 기술하기 위한 파일 입니다.
  • docker build 명령은 Dockerfile의 구성정보를 바탕으로 Docker 이미지를 만듭니다.

 

 

☘️ 도커 파일(Dockerfile) 기본 구문


  • 텍스트 형식의 파일로 확장자는 불필요 합니다.
  • 인프라의 구성정보를 작성합니다.
  • Dockerfile에서 이미지를 빌드할 때 파일명을 명시적으로 지정해야 합니다.

 

☘️ 도커 파일(Dockerfile) 명령


  • 명령은 대소문자 관계없지만 관례적으로 대문자로 통일해서 사용합니다.
  • 아래 작성한 도커파일에서 사용한 명령으로 간단하게 작성했습니다. 
    FROM 베이스 이미지 지정
    RUN 명령 실행
    ADD 파일 디렉토리 추가
    EXPOSE 포트 익스포트
    ENTRYPOINT 컨테이너 실행 명령

 

 

☘️ 도커 파일(Dockerfile) 작성방법


1. 도커 파일(Dockerfile) 만들기

프로젝트 내 도커 파일을 만듭니다.

 

[도커파일(Dockerfile) 위치]

 

2. 도커 파일(Dockerfile) 작성하기

FROM azul/zulu-openjdk:8

ADD ./build/libs/*.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]
  • FROM [이미지명]
  • ADD [jar 파일이 있는 경로, 프로젝트명.jar]
  • EXPOSE [포트번호]
  • ENTRYPOINT [실행 명령어] : java -jar myliket3-0.0.2-SNAPSHOT.jar

 

☘️  도커 이미지 빌드하기


📌 jar 파일이 없을 경우 빌드 시 에러가 발생합니다.

 

📌 도커 이미지 빌드하기

# 도커 파일 이미지 빌드 (도커파일이 있는 위치에서 실행)
$ docker build -t [프로젝트명:버전] .

 

 

# 또는 도커파일 명시(도커파일이 있는 위치에서 실행)
$ docker build -t [프로젝트명:버전] -f Dockerfile .

 

☘️  도커 이미지 확인하기


$ docker images

[이미지 조회 결과]

 

 

 

 💡 도커파일(Dockerfile)로 서비스 배포하기( jar 파일) https://tira-0.tistory.com/225

 💡 Jib로 이미지 빌드하여 도커 서비스 배포하기( jar 파일) https://tira-0.tistory.com/224