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.