Docker를 사용하기 위해서는 Dockerfile을 작성해야한다.
Dockerfile은 다음과 같이 작성할 수 있다.
docker docs에서 Dockerfile을 가져왔다.
(docker docs > Guides > Language-specific guides > Java > Build Images)
# syntax=docker/dockerfile:1
FROM eclipse-temurin:17-jdk-jammy
WORKDIR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:resolve
COPY src ./src
CMD ["./mvnw", "spring-boot:run"]
Dockerfile 작성방법은 다음과 같다.
FROM [build 하고자하는 image를 적음. dependency인 build stage를 적음]
예시:
FROM eclipse-temurin:17-jdk-jammy
FROM node:18-alpine
COPY [Docker에게 복사할 파일을 알려줌] [Docker에게 붙여넣기할 곳을 알려줌]
예시:
COPY A B
A파일을 복사해서 B파일에 붙여넣기하라는 의미
RUN [command, parameter]
예시:
RUN ./mvnw dependency:resolve
RUN apt update && apt install -y python3
이미지 빌드 과정에서 필요한 커맨드를 실행하기 위해 사용됨
운영체제 명령어를 실행시키고 싶을 경우 사용
CMD [command, parameter]
예시:
CMD ["./mvnw", "spring-boot:run"]
이미지를 컨테이너로 띄울 때 사용
참고:
https://docs.docker.com/language/java/build-images/
'DevOps > Docker' 카테고리의 다른 글
[Docker] zsh: no matches found: JAR_FILE=build/libs/*.jar (0) | 2023.01.24 |
---|---|
[Docker] zsh: command not found docker [MacOS] (0) | 2023.01.22 |
[Docker] error checking context 'can't stat (0) | 2023.01.18 |
[Docker] Dockerfile Reference 정리 (0) | 2023.01.16 |
[Docker] Docker란? Docker를 쓰는 이유 (0) | 2023.01.14 |
댓글