Git :)

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도커 이미지 만들기
    IT 서적/도커 교과서 2024. 7. 28. 15:49

    1. Dockerfile 작성하기

    • Dockerfile은 일련의 인스트럭션으로 구성돼 있는데, 인스트럭션을 실행한 결과로 도커 이미지가 만들어진다.
    • 아래 소스는 예제 3-1 web-ping 애플리케이션을 패키징하기 위한 전체 Dockerfile 스크립트다.
    FROM diamol/node
    
    
    
    ENV TARGET="blog.sixeyed.com"
    
    ENV METHOD="HEAD"
    
    ENV INTERVAL="3000"
    
    
    
    WORKDIR /web-ping
    
    COPY app.js .
    
    
    
    CMD ["node", "/web-ping/app.js"]

     

    • FROM : 모든 이미지는 다른 이미지로부터 출발한다. 이 이미지는 diamol/node 이미지를 시작점으로 지정했다. diamol/node 이미지에는 web-ping 애플리케이션을 실행하는 데 필요한 런타임인 Node.js가 설치돼 있다.
    • ENV : 환경 변수 값을 지정하기 위한 인스트럭션이다. 값을 지정하기 위해 [key]="[value]" 형식을 따른다.
    • WORKDIR : 컨테이너 이미지 파일 시스템에 디렉터리를 만들고, 해당 디렉터리를 작업 디렉터리로 지정하는 인스트럭션이다. 그러므로 스크립트에 나온 인스트럭션은 리눅스 컨테이너에서는 /web-ping 디렉터리를 만들고, 윈도 컨테이너에서는 C:\web-ping 디렉터리를 만든다.
    • COPY : 코멀 파일 시스템의 파일 혹은 디렉터리를 컨테이너 이미지로 복사하는 인스트럭션이다. [원본경로] [복사경로] 형식으로 저징하면 된다.
    • CMD : 도커가 이미지로부터 컨테이너를 실행했을 때 실행할 명령을 지정하는 인스트럭션이다. 여기서는 Node.js 런타임이 애플리케이션을 시작하도록 app.js를 지정했다.

     

    2. 컨테이너 이미지 빌드하기

    • docker image build 명령을 사용해 Dockerfile 스크립트로 이미지를 빌드하자
    • docker image build --tag web-ping .
    • --tag [인자값]은 이미지의 이름이고, 이어지는 인자는 Dockerfile 및 이미지에 포함시킬 파일이 위치한 경로다. 도커에서는 이 디렉터리를 컨텍스트라고 한다. 마지막의 .은 '현재 작업 디렉터리'라는 뜻이다.
    • build 명령을 입력하면 Dockerfile 스크립트에 포함된 인스트럭션이 차례로 실행되며 그 결과가 출력된다.

     

     

     

     

     

     

    'IT 서적 > 도커 교과서' 카테고리의 다른 글

    도커의 기본적인 사용법  (0) 2024.07.24
    컨테이너로 Hello World 실행하기  (1) 2024.07.22