티스토리 뷰

linux/docker

DockerFile 기초(정리)

광돌ol 2024. 2. 26. 00:05
728x90
반응형

 

Dockerfile이란 도커 이미지를 생성하기 위한 스크립트 파일

여러 키워드를 사용하여 dockerfile을 작성하여 빌드를 보다 쉽게 수행할 수 있다.

 

 

 

Dockerfile에서 사용하는 주요 키워드

 

FROM

: FROM 키워드를 사용하여 base가 되는 image를 지정 주로 OS 이미지나 런타임 이미지를 지정함

 

RUN

: 이미지를 빌드할 때 사용하는 커맨드를 설정할 때 사용

 

ADD

: 이미지에 호스트의 파일이나 폴더를 추가하기 위해 사용

만약 이미지에 복사하려는 디렉토리가 존재하지 않으면 docker가 자동으로 생성

 

COPY

: 호스트 환경의 파일이나 폴더를 이미지 안으로 북사하기 위해 사용

‘ADD’와 동일하게 동작하지만 가장 확실한 차이점은 URL을 지정하거나, 압축파일을 자동으로 풀지 않음

 

EXPOSE : 이미지가 통신에 사용할 포트를 지정할 때 사용

 

ENV : 환경 변수를 지정할 때 사용

여기서 설정한 변수는 $name, ${name} 의 형태로 사용할 수 있음

추가로 아래와 같은 문법을 사용하여 사용할 수도 있음

-${name:-else} : name이 정의가 안되어 있다면 ‘else’가 사용됨

 

CMD :

도커 컨테이너가 실행될 때 실행할 커멘드를 지정

‘RUN’과 비슷하지만 CMD는 도커 이미지를 빌드할 때 실행되는 것이 아니라 컨테이너를 시작할때 실행된다는 것이 다름

 

ENTRYPOINT :

도커 이미지가 실행될 때 사용되는 기본 커멘드를 지정(강제)

 

WORKDIR :

RUN, CMD, ENTRYPOINT 등을 사용한 커맨드를 실행하는 디렉토리를 지정 -w 옵션으로 오버라이딩 할 수 있음

 

VOLUME :

퍼시스턴스 데이터를 저장할 경로를 지정할 때 사용

호스트의 디렉토리를 도커 컨테이너에 연결

주로 휘발성으로 사용되면 안되는 데이터를 저장할 때 사용

 

 

docker build 커맨드

dockerfile을 실행하기 위해서는 docker build 커맨드를 사용

 

docker build ${option} ${dockerfile directory}

ex) docker build -t test .

 

실습 예제

 

index.html 과 Dockerfile

 

Dockerfile 파일 위치

C:\intellij\around-hub\around-hub-docker\study_material\220924-dockerfile example

 

해당 파일 위치에서 Dockerfile 빌드 실행 명령어

왼) 실행 index.html, 오) dockerfile

 

docker build -t test123 . 
( 점은 dockerfile 위치를 의미 해당 위치는 dockerfile이있는 폴더 내부에 있기에 점을 지정)

 

실행 결과 화면 :

test123 이미지가 생성된걸 확인 할 수 있다.

 

dockerfile 실행 test!23 이미지 생성

 

만약 test123을 실행시 test123:1.1이라고 지정할 경우

docker build -t test123:1.1 .

 

TAG 부분에 표시되어 버전 처럼 구분 할 수 있다.

 

이미지 태그 지정

 

Dockerfile로 생성된 이미지 컨테이너에 띄우기

 

docker run --name test123_app -p 80:80 test123( -t가 붙을 경우 백그라운드에서 돌도록 하는것)

 

실행 결과

 

: 컨테이너가 띄워진 것을 확인 및 localhost로 확인 가능

 

 

실행결과화

 

728x90
반응형
250x250
반응형
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함