• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

docker 볼륨마운트에 대해서 질문드립니다

24.04.25 16:51 작성 24.04.25 18:06 수정 조회수 67

1

안녕하세요 :)

배운 내용을 토대로 제 개인 우분투 컴퓨터 서버에 배포를 하려 하는데요

수업에서 배운 3-Teir 형식으로 network설정도 하고, /api로 스프링 서버에 요청이 가도록 nginx도 설정했습니다

 

서버에 만들어놓은 RAID1 (경로는 /mydata/img) 디렉토리를 스프링과 볼륨 마운트해서 POST 요청시 이미지를 저장하도록 만들었는데요

저장이 잘 되는건 확인했는데 클라이언트에서 src에 이미지경로를 어떻게 설정해야 할까요?

 

찾아보고 구현해본 방법중에서

  1.  아래 사진과 같이 만들었는데요 이게 3-Teir 의 요점과도 가장 잘 맞는거 같아서요..
    uploadPath와 RAID1을 볼륨 마운트하고,
    src="/images/이미지명",
    nginx에 location 으로 proxy_pass 설정만 해주면 될까요?
    아니면 추가적으로 설정할게 더 필요할까요?

    @Configuration
    public class WebConfig implements WebMvcConfigurer{
    
        @Value("${upload.path}")
        private String uploadPath;
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/images/**")
                    .addResourceLocations("file:/" + uploadPath);
        }
    }


  2. 아니면 진짜 정배가 따로 있을까요 ㅋㅋ...

정확한 방법을 알고싶어서 질문드립니다 ㅠ

답변 1

답변을 작성해보세요.

1

김규헌님 안녕하세요. 데브위키입니다.

배우신 내용을 잘 활용하고 계신 것 같습니다!

확인해보니 Proxy 설정을 활용하는 방법이 좋을 것 같습니다.

image

위 설정과 같이 설정했을 때 nginx의 /images/{파일명}으로 들어오는 요청들의 /images 부분을 /mydata/img/{파일명} 으로 수정해서 백엔드 애플리케이션으로 proxy 하면, 서버의 RAID1으로 접근하실 수 있을 것이라고 생각합니다.

김규헌님의 프로필

김규헌

질문자

2024.04.26

감사합니다!! 참고해서 잘 구현해보도록 하겠습니다 ^^7