다가오는 다음을 향해
[Docker] 도커파일(Dockerfile)로 이미지 빌드하기 - Jar 본문
💡 간단하게 도커파일을 작성 및 이미지 빌드하는 방법 입니다.
▼ 목차
☘️ 도커파일(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 만들기
- Maven plugin Jar : https://tira-0.tistory.com/193
- Gladle plugin Jar : https://tira-0.tistory.com/219
☘️ 도커 파일(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
'Server > Docker' 카테고리의 다른 글
[Docker Mac] Jib로 이미지 빌드하여 도커 서비스 배포하기( jar 파일) (0) | 2022.09.26 |
---|---|
[Docker Mac] Jib 로 이미지 올리기(image push) (0) | 2022.09.26 |
[Docker Mac] MySQL Community Server container 실행하기 (1) | 2022.09.26 |
[Docker] 도커 허브 레포지토리(Docker Hub Repository)만들기, 삭제하기, 이미지(image) 올리기 (0) | 2022.09.26 |
[Docker Mac] Docker Desktop 설치 및 삭제 (M1/애플 실리콘) (1) | 2022.09.26 |