본문 바로가기
클라우드 컴퓨팅/Docker

도커 이미지 만들기 #1 - 개요 및 방법

by 안드레날린 2022. 6. 1.

도커 이미지 만들기

도커 이미지를 만드는 방법은 두 가지가 있다.

 

첫 번째는 commit 커맨드를 이용하는 방법이 있고,

두 번째는 Dockerfile 스크립트로 이미지를 만드는 방법이다.

 

commit 커맨드로 이미지 만들기

docker commit 컨테이너_이름 신규_이미지_이름

 

Dockerfile 스크립트로 이미지 만들기

Dockerfile은 사용자가 이미지를 조합하기 위해 명령줄에서 호출할 수 있는 모든 명령을 포함하는 텍스트 문서이다.

Dockerfile 스크립트에서 주로 사용되는 인스트럭션은 다음과 같다.

인스트럭션 설명
FROM 베이스 이미지 지정
MAINTAINER 이미지 생성자 정보 (1.13.0 이후 사용 불가)
COPY 파일이나 폴더 추가
ADD 파일이나 폴더 추가 (로컬 파일 뿐만 아니라 원격 파일도 사용 가능)
RUN 이미지를 빌드할 때 실행할 명령어 지정
CMD 컨테이너를 생성할 때만 실행되는 명령어를 지정 (docker run)
ENTRYPOINT 컨테이너를 실행할 때마다 실행할 명령어를 강제 지정 (docker start)
ONBUILD 이 이미지를 기반으로 다른 이미지를 빌드할 때 실행할 명령어를 지정
EXPOSE 통신에 사용할 포트를 명시적으로 지정 (컨테이너 생성시 -p 옵션)
VOLUME 영구 데이터를 저장할 경로를 지정
ENV 이미지에서 사용할 환경 변수를 정의
WORKDIR RUN, CMD, ENTRYPOINT, ADD, COPY에 사용되는 명령어를 실행할 때 작업 디렉토리 지정
SHELL 빌드 시 사용할 쉘 변경
LABEL 이름이나 버전, 저작자 정보 (key=value 형태)
USER RUN, CMD, ENTRYPOINT에 사용되는 명령어를 실행할 때 사용자 또는 그룹을 지정 (default : root)
ARG docker build 커맨드를 사용할 때 입력받을 수 있는 인자를 선언
STOPSIGNAL docker stop 커맨드를 사용할 때 컨테이너 안에서 실행 중인 프로그램에 전달되는 시그널 설정
HEALTHCHECK 컨테이너 헬스체크 방법을 커스터마이징

 

Dockerfile 예시를 활용하여 이미지 빌드 하기

docker build -t [도커_아이디]/{새로운_이미지_이름}:[태그] {경로}
docker build -t new_busybox .
docker build -t ahndrenaline/new_busybox:1.0 .