-
Notifications
You must be signed in to change notification settings - Fork 4
스터디
dimsssss edited this page Nov 14, 2019
·
11 revisions
- Typescript 스터디: 사용할 여지가 있는지 가능성 탐구 (https://github.com/connect-foundation/2019-14/wiki/Typescript-%EC%8A%A4%ED%84%B0%EB%94%94)
- 기초부터 따라하는 간단한 Docker 명령어 정리
- VSCode ESLint, Prettier 자동 적용하기
- Express + Https 적용 링크 정리
컴퓨터 공학에서 사용하는 리소스 관리 기술이다. 수정 가능한 중복과 복사 작업을 효과적으로 구현하기 위한 기술이다. 만약 중복되는 하나의 리소스가 있다면(수정되지 않은) 그것은 원본과 공유된다. 이렇게 되면 복사할 때 실제로 수정된 부분만 작업이 필요해서 일반적인 복사 과정보다 더 빠르게 작업이 진행된다.
Sending build context to Docker daemon 86.15MB
Step 1/5 : FROM alpine
---> 7328f6f8b418
Step 2/5 : RUN apk update && apk add nodejs
---> 2707762fca63
Step 3/5 : COPY . /app
---> 07b2e2127db4
Step 4/5 : WORKDIR /app
---> 6630eb76312c
Step 5/5 : CMD node index.js
---> Running in e079fb6000a3
---> e536b9dadd2f
Successfully built e536b9dadd2f
Successfully tagged hello:v0.1
# 실행하면 대충 이런 화면이 나온다.
위의 도커 파일에서 FROM에 해당하는 이미지가 BASE 이미지이고 위의 설명에서 말하는 원본이다. 복사를 할 때 원본을 그대로 가지고 오고 추가되는 명령어 부분(위의 설명에서는 수정된 부분)만 추가로 복사한다. 이 각각의 명령어 단계들을 Docker에서는 Image Layer라고 한다. 명령어 부분들을 각각의 변경 사항으로 취급하고 차례대로 적용하고 하나의 완성된 이미지를 만들어낸다. 결국 Docker container가 사용하는 이미지는 여러개의 BASE IMAGE들을 조합하고 명령어 layer를 쌓는 파일이다.
각각의 layer들을 캐싱하기 때문에 새로 이미지를 빌드하면 캐싱을 비교해서 다른 부분만을 수정해서 빌드를 하기 때문에 훨씬 간단하다.