티스토리 뷰

카테고리 없음

Docker

J_estrella 2020. 8. 29. 18:47

명칭 정리

context - Dockerfile와 같은 디렉터리에 있는 모든 파일들을 context라고 부릅니다. 이미지를 생성할 때 context 모두를 docker 데몬에 전송해서 자칫하면 시스템 처리 속도가 느려질 수 있습니다.


host - 도커를 띄우는 주최가 되는 인스턴스입니다. 

 

Layer - 도커이미지는 os, 플랫폼부터 컨테이너를 실행하는 모든 시스템 및 데이터를 포함하기 때문에 매번 이미지를 만들기 위해 설치하는 데는 큰 시간이 필요합니다. 이런 비효율적인 시간낭비를 막는 장치가 Layer입니다. docker layer는 docker image를 여러개의 Layer로 구성하고 있습니다. 파일이 변경되거나 새로 만들어지는 경우에는 새로 레이어를 만들지만, 변경되는 파일이 없을 경우 기존에 만들어둔 layer를 그대로 사용합니다. 따라서 이미지를 생성하는 데 시간을 단축할 수 있습니다. 

 

 

 

(이미지 참고: https://jonnung.dev/docker/2020/04/08/optimizing-docker-images/)

 


명령어 정리 

FROM 

도커이미지를 만드는 base image를 지정합니다. custom base image를 만들 수도 있지만, docker hub(중앙저장소)에서의 base image를 가져올 수 있습니다. 

FROM node:12

 

WORKDIR

작업할 디렉토리를 말합니다. cd 커맨드와 비슷하다고 생각하면 됩니다.

WORKDIR /usr/app

 

RUN

image layer를 만들어냅니다. 플랫폼, 패키지 설치 등에 사용됩니다. 명령어를 N줄만큼 작성하면 N개의 image layer가 생성됩니다. 

 

ADD

파일과 디렉토리 혹은 url에 존재하는 리소스들을 호스트에서 docker 이미지로 copy합니다. ADD 파일이 압축파일일 경우 docker가 자동으로 압축을 풀어 copy합니다. 디렉토리가 image에 존재하지않으면 docker가 자동 생성해주고, 이미 존재한다면 덮어 씌우지 아니합니다.
빌드 디렉토리 밖의 파일들에 대한 copy는 안됩니다. 

COPY

ADD와 동일하지만 URL지정이 되지 않고, 압축파일을 자동으로 풀지 않습니다.

빌드 디렉토리 밖의 파일들에 대한 copy는 안됩니다. 

 

 

 

 

 

 

 

 

참고 블로그)

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html#%EB%A0%88%EC%9D%B4%EC%96%B4-%EC%A0%80%EC%9E%A5%EB%B0%A9%EC%8B%9D

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함