## 개요
- 빌드할 때는 필요하지만 최종 이미지에는 필요 없는 환경을 제거할 수 있도록 단계를 나눠서 베이스 이미지를 만드는 방법.
- 이미지 용량 최적화에 좋다.
## 예시
``` docker
FROM node:10-alpine AS build
WORKDIR /app
COPY app /app
RUN npm install && npm run build
FROM node:10-alpine
WORKDIR /app
RUN npm install -g webserver.local
COPY --from=build /app/build ./build
EXPOSE 3000
CMD webserver.local -d ./build
```
- 1번 째 라인에서 `AS build` 를 넣어서 아래에서 사용할 수 있게 만든다.
- `FROM`이 두 번 나오는데, 처음에는 npm install과 build를 하고 두번 째 `FROM` 부터 최종 이미지를 만든다.
- 10번 째 라인에서 `--from=build`를 사용하여 처음에 만든 build를 가져온다.
#docker #optimize