컨테이너 간 공유 볼륨 점검

공유 데이터의 필요성과 쓰기 권한을 확인하세요.

설명

여러 컨테이너가 같은 볼륨이나 호스트 경로를 함께 쓸 수 있습니다. 공유 자체는 유효한 구성이지만, 쓰기 권한을 가진 컨테이너의 변경이 다른 컨테이너에도 영향을 줍니다.

잠재적 영향

조정되지 않은 동시 쓰기는 데이터를 손상시킬 수 있고, 침해된 컨테이너가 공유 파일을 변조하면 이를 사용하는 다른 서비스에 영향을 줄 수 있습니다.

해결 방법

공유가 필요하지 않은 데이터는 분리하세요. 필요한 공유에는 쓰기 주체를 정하고, 읽기만 필요한 컨테이너는 읽기 전용으로 마운트하세요.

예시

같은 ./logic 경로를 쓰던 backend를 별도 ./bin 경로로 분리합니다. 두 컨테이너가 실제로 같은 파일을 필요로 한다면 이 변경 대신 적절한 공유 권한과 동시 접근 방식을 정해야 합니다.

변경 전

yaml
version: "3"

services:
  frontend:
    build: frontend
    volumes:
      - ./logic:/app

  backend:
    build: backend
    volumes:
      - ./logic:/app

변경 후

yaml
version: "3"

services:
  frontend:
    build: frontend
    volumes:
      - ./logic:/app

  backend:
    build: backend
    volumes:
      - ./bin:/app

참조