| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 스위치
- 네트워크
- Queue
- SMTP
- Telnet
- 침입차단시스템
- Storage Gateway
- SQS
- ELB
- 7계층
- 브리지
- k8s
- docker
- Protocol
- ICMP
- C#
- 보안관제
- AI스쿨
- tcp
- 침입탐지시스템
- 라우터
- 프로토콜
- english
- IDS
- EC2
- 3way handshaking
- ssh
- kubernetes
- IPS
- AWS
- Today
- Total
Devsecops
Dockerfile 최적화 본문
컨테이너 기술은 어디까지나 빠르게 어디에서나 배포를 하기 위함이다
----------------- ----------------- ----------------- ----------------- ----------------- ----------------- -----------------
FROM node
WORKDIR /app
COPY . /app
RUN npm install
EXPOSE 80
CMD [ "node", "server.js" ]
----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- -----------------
이라는 dockerfile을 가질때 '소스코드'를 조금만 변경하여도 RUN npm install 아래 라인이 실행이 된다
이는 layer 기반이기 때문
따라서
------------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- --------------
FROM node
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
EXPOSE 80
CMD [ "node", "server.js" ]
----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- -----------------
이렇게 수정하여 소스코드를 변경하여도 RUN npm install 아래 레이어를 Docker의 캐시를 이용하여 실행 속도를 최적화 할 수 있다
* package.json : 현재 프로젝트에 관한 정보와 패키지 매니저(npm, yarn)을 통해 설치한 모듈들의 의존성을 관리하는 파일
'Docker' 카테고리의 다른 글
| EC2 docker 설치 (0) | 2023.03.03 |
|---|---|
| Networking (0) | 2023.02.24 |