도커(6): nginx로 실습

김현진·2020년 10월 20일
0

도커

목록 보기
6/7
post-thumbnail

Nginx는 웹서버이며 , 전에 장고프로젝트를 할때 한번 Nginx를 써 본적이 있는데 그때는 reverse-proxy 및 https 적용을 위해 사용하였다. (정적파일 등을 제공해주기도 한다.)

Nginx로 실습

이전 파트 도커(5)와 내용이 이어지는점 참조하세요....

Dockerfile 작성

FROM node:alpine as builder 

WORKDIR /usr/src/app

COPY package.json ./

RUN npm install

COPY ./ ./

CMD ["npm", "run", "build"]

FROM nginx

COPY --from=builder /usr/src/app/build /usr/share/nginx/html

첫번째줄 FROM에 as builder는 여기 FROM부터 다음 FROM 전까지는 모두 builder stage라는 것을 명시

builder stage의 목표는 빌드파일을 생성하는것이며, /usr/src/app/build 해당경로에 빌드 파일이 생긴다.

FROM nginx 는 nginx라는 베이스이미지를 가져오는것이며

COPY --from=builder /usr/src/app/build /usr/share/nginx/html

--from 다른stage에 있는 파일을 복사할때 다른 Stage 이름을 명시

/usr/src/app/build 어떤파일들을 복사할껀지

/usr/share/nginx/html: 목적지, 어디에다가 복사를 할껀지

build를 하게 되면 /usr/src/app/build 이 경로에 build 파일이 생성되며 /usr/share/nginx/html 로 파일을 복사시켜준다. 이 디렉토리에 넣어줘야지 Nginx가 client에서 요청이 들어올때 알맞은 정적 파일을 제공 해줌.빌드를 한 후 run을 실행시켜 정상적으로 동작되는지 확인한다.

docker build -t wmc1415/docker_react ./
docker run -p 8080:80 wmc1415/docker

Ningx의 기본포트는 80번이다.

profile
기록의 중요성

0개의 댓글