본문 바로가기
카테고리 없음

임오군란과 민씨 - docker (1) 레이어

by btc_홍민표 2022. 9. 29.

 

안녕하세요 임오군란과 민씨입니다. 

오늘은 도커에 대해 알아보는 시간을 가져보도록 하겠습니다.

도커에 대한 개념은 다른 게시글에서도 상세히 다뤄진 부분이라 넘어가도록 하겠습니다.

 

1. docker container 를 실행하는 방법

1. docker run abcdefg

이 명령 대신

2. docker run abc

이 명령을 실행할 수도 있습니다.

또는 "a"로 시작하는 다른 이미지 ID가 없으면, 다음과 같은 명령을 실행할 수도 있습니다.

3. docker run a

이는 ID를 필요로 하는 모든 Docker 명령어에 적용됩니다.

 

 

2. Image Layer

docker의 컨테이너 빌드는 Dockerfile에 의해 이루어지게 됩니다. 이때 파일명은 반드시 Dockerfile이여야한다는 점 유의해주세요.

 

FROM node

WORKDIR /app

COPY . /app

RUN npm install

EXPOSE 80

CMD ["node", "server.js"]

이미지를 빌드 시 이미지를 빌드하고 닫습니다. 무언가를 업데이트를 해야할 경우 다시 빌드해야만 합니다.

 

도커는 레이어 기반입니다. 이미지를 빌드하거나 다시 빌드할 때 모든 코드들은 다시 재검토됩니다.

 

[+] Building 0.1s (9/9) FINISHED
 => [internal] load build definition from Dockerfile                                                  0.0s 
 => => transferring dockerfile: 31B                                                                   0.0s 
 => [internal] load .dockerignore                                                                     0.0s 
 => => transferring context: 2B                                                                       0.0s 
 => [internal] load metadata for docker.io/library/node:latest                                        0.0s 
 => [internal] load build context                                                                     0.0s 
 => => transferring context: 184B                                                                     0.0s 
 => [1/4] FROM docker.io/library/node                                                                 0.0s 
 => CACHED [2/4] WORKDIR /app                                                                         0.0s 
 => CACHED [3/4] COPY . /app                                                                          0.0s 
 => CACHED [4/4] RUN npm install                                                                      0.0s 
 => exporting to image                                                                                0.0s 
 => => exporting layers                                                                               0.0s 
 => => writing image sha256:1b81e20c0f344e734bf408220d5d833ecdff351914c2e9ac0617a7015d6bcab6          0.0s 

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

캐시를 사용하여 명령어가 동일할 경우 명령을 재실행하지 않습니다.

대신 매 빌드시 모든 명령을 캐시하여 재사용할지 검토하고 또한 모든 명령은 도커파일의 레이어를 기반으로 합니다.

 

감사합니다.

댓글