Uksssssssss
285
2021-11-23 13:07:30
1
56

docker compose의 volume에 대한 질문있습니다.


AWS의 EC2에 app을 배포하는 과정중에 있습니다. vue container와 nginx를 연동하는 중에 vue에서 build된 폴더를 볼륨으로 떠놓고 nginx에서 해당 볼륨을 사용하는 부분에 대한 질문입니다. 먼저 dockerfile을 보여드리겠습니다.

FROM node:10 as node

WORKDIR /front

ADD package.json package.json

RUN npm install --quite

COPY . .

VOLUME /front/build

제가 생각한 것은 /front/build에 dist가 들어가있고, 이후의 docker-compose를 보시면

version: "2.3"

volumes:
  front-build: {}
  node-modules: {}

services:
  frontend:
    image: blog_frontend
    build:
      context: ./blog
    restart: on-failure
    volumes:
      - front-build:/front/build        ** 여기서 volume mapping
      - node-modules:/front/node-modules

  nginx:
    image: nginx
    restart: unless-stopped
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
      - front-build:/front-build      
    depends_on:
      - frontend
    ports:
      - 80:80

이런식으로 구성해놓을 경우 사용자가 80번 포트로 들어왔을 때 nginx에서 front-build로부터 dist를 보내주는 방법으로 이해했습니다.

하지만 nginx service에서 nginx.conf는 정상적으로 mapping이 됩니다만 nginx container에 직접 들어가서 찾아보니 front-build 경로에는 아무런 파일도 들어있지 않습니다. 제가 어디 잘못이해한 부분이 있을까요...? 선배님들 도움 부탁드립니다... 


0
  • 답변 1

  • Uksssssssss
    285
    2021-11-23 13:13:15
    혹시 config 자체에 다른 의견이 있으시다면 말씀해주시면 감사하겠습니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.