Dockerfile 알아보기

test·2021년 12월 29일

docker

목록 보기
3/6
post-thumbnail

Dockerfile ?

ch1. Dockerfile 이해하기

  • Dockerfile 은 docker 이미지를 작성할 수 있는 기능
    Dockerfile 문법으로 이미지 생성을 위한 스크립트를 작성. 이를 기반으로 이미지를 생성.
    나만의 이미지를 생성할 수 있어 배포로 많이 활용 된다.

ch2. Dockerfile 기본 문법

  • 기본적으로 [명령][인수] 로 이루어 진다.
  • 명령은 대문자
명령설명
FROM베이스가 되는 이미지 지정 (ex> FROM ubuntu)
LABEL버전 정보, 작성자와 같은 이미지 설명을 작성
EXPOSEdocker 컨테이너 외부에 오픈 할 포트 설정 (ex> EXPORT 8080)
CMDdocker 컨테이너가 시작할 때 실행하는 쉘 명령을 지정
ENTRYPOINTdocker 컨테이너가 시작할 때 실행하는 쉘 명령을 지정.
docker run 커멘트 실행시 별도 명령어도 넣을 수 있는데,
이때 CMD 명령은 해당 명령으로 덮어씌워진다.
RUN쉘 명령을 실행하는 명령, RUN은 이미지 작성시 실행되며,
일종의 이미지에 패키지를 추가, 작업 추가
ENVdocker 컨테이너 내부에서 사용 할 환경 변수 지정
WORKDIRdocker 컨테이너에서의 작업 디렉토리 설정
COPY파일 또는 디렉토리를 docker 컨테이너에 복사.
ADD 와 달리 URL은 지정할 수 없고 압축 파일을 자동으로 풀어주지 않음



  • 추가 명령어
명령설명
USERdocker 이미지 및 컨테이너에서 작업 하는 사용자 ID를 지정
SHELL쉘 프로그램 지정 명령. CMD 등으로 대체 가능
ONBUILD생성한 이미지를 기반으로, 새로운 이미지를 생성시 실행하는 명령을 지정
VOLUME이미지를 위한 볼륨 생성
ADD파일, 디렉토리, 특정 URL의 데이터를 docker 이미지에 추가.
추가 할 파일이 압축 파일인 경우 자동으로 풀어주기 때문에 조심.
동일한 이름의 파일 또는 디렉토리가 있을 경우 덮어 씌우지 않음.
ARGDockerfile 내부에서 필요한 변수 설정
#주석



ch3. Dockerfile 활용 이미지 작성

  1. docker build 명령
docker build {option} Dockerfile {path}
  • {option} 목록
옵션설명
-t
--tag
이미지 이름 설정.
TAG(버전)를 설정하기 위해서는 -t IMGNAME:1.1 로 붙여야 TAG에 1.1로 설정됨.
설정 하지 않는 경우 이미지의 latest가 default로 붙는다.
-f빌드시 default로 'Dockerfile'을 찾아 빌드하는데 이 이름을 변경
--pull--pull=true 형태로 활용.새로 다운로드 받으라는 옵션
  1. Dockerfile build test
  • Dockerfile을 저장한 경로에 들어가서 명령
  • Dockerfile이 있는 경로와 똑같기 때문에 path는{. or ./}로 한다
  • --tag test_ubuntu 는 이미지 이름을 test_ubuntu로 설정
  • -f 태그 활용으로 Dockerfile -> test_dockerfile 변경
docker build --tag test_ubuntu -f test_dockerfile ./
profile
bedev

0개의 댓글