Post

Dockerfile

Dockerfile

Dockerfile

Docker 이미지를 만들게 해주는 파일

이미지 생성 명령어

1
docker build -t [이미지명] .
  • Dockerfile이 있는 디렉토리에서 실행해야 한다.

FROM

베이스 이미지를 생성하는 역할

-> 베이스 이미지를 기반으로 세팅을 할 수 있다.

1
FROM [이미지명]

베이스 이미지가 잘 생성됐는지 확인하고 싶을 수 있다.

하지만 컨테이너는 수행할 일을 모두 마치면, 자동으로 중지된다.

이 경우 컨테이너에 접속할 수도 없고, log를 확인해봐도 특별히 문제를 찾을 수 없다.

따라서 아래의 문법으로 디버깅을 할 수 있다.

1
2
3
FROM openjdk:17-jdk

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

COPY

호스트 컴퓨터에 있는 파일을 복사해서 컨테이너로 전달하는 역할

1
COPY [호스트 컴퓨터에 있는 복사할 파일의 상대 경로] [컨테이너에서 파일이 위치할 절대 경로]
  • * 와 같은 와일드 카드를 사용할 수 있다.
  • .dockerignore 파일로 특정 파일 또는 폴더는 COPY 하지 않도록 할 수 있다.

ENTRYPOINT

컨테이너가 시작할 때 실행되는 명령어

1
ENTRYPOINT [명령문...]
  • 리눅스 명령어에서 띄어쓰기를 기준으로 , 로 구분한다.

RUN

이미지를 생성하는 과정에서 실행되는 명령어

1
RUN [명령문]
  • FROM 문법에서 베이스 이미지를 생성하는 과정에서 실행되는 명령어이다.
  • 베이스 이미지가 생성 완료되고, 컨테이너가 시작할 때 ENTRYPOINT가 실행된다.

WORKDIR

작업 디렉토리를 지정하는 역할

-> 컨테이너 내부 폴더를 깔끔하게 관리할 수 있다.

1
WORKDIR [작업 디렉토리로 사용할 절대 경로]

EXPOSE

컨테이너 내부에서 사용 중인 포트를 문서화하는 역할

1
EXPOSE [포트 번호]
This post is licensed under CC BY 4.0 by the author.