인프런 커뮤니티 질문&답변

김동혁님의 프로필 이미지

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]

7개 도커 운영 방법 및 이후 학습 가이드

백엔드서버 정적파일도 저장이 되는가요?

작성

·

402

0

django_backend:

volumes:

- 기존소스:/var/www/html

위와 같이 되어있을 때

기존소스에는 제가 만든 django소스가 있습니다.

이걸 도커로 돌린다고 가정했을 때

기존 소스 내에

서버 업로드 기능이 있으면 어떻게 처리되는건가요?

기존소스/media에는 빈폴더였는데

/var/www/html/media에 파일이 업로드되면

기존소스/media에도 반영이 되는건가요?

답변 1

0

안녕하세요. 답변도우미입니다.

Docker에서 볼륨을 사용하는 경우, 호스트와 컨테이너 사이에 파일이 공유됩니다. 따라서 볼륨으로 설정한 경로에 대한 변경 사항은 호스트와 컨테이너 양쪽에서 모두 반영됩니다.

예를 들어, docker-compose.yml 파일에서 아래와 같이 설정한 경우:

django_backend:
  volumes:
    - ./기존소스:/var/www/html

기존소스/media 폴더와 컨테이너 내의 /var/www/html/media 폴더가 연결됩니다. 이 경우, /var/www/html/media 폴더에 파일이 업로드되면 호스트의 기존소스/media 폴더에도 동일한 파일이 생성됩니다.

그러나 호스트와 컨테이너 사이에 파일 권한이나 사용자 문제가 발생할 수 있으므로, 이러한 문제가 발생하면 적절한 권한 설정이 필요합니다.

참고로, 데이터가 유실되지 않도록 볼륨을 사용하는 것이 좋습니다. 특히 파일 업로드와 같은 기능을 사용하는 경우에는 더욱 중요합니다. 이렇게 하면 컨테이너가 삭제되거나 재시작되어도 파일이 유지됩니다.

감사합니다~