Nice programing

docker-compose.yml의 명명 된 볼륨에 대한 호스트 경로를 설정하는 방법

nicepro 2020. 12. 5. 10:40
반응형

docker-compose.yml의 명명 된 볼륨에 대한 호스트 경로를 설정하는 방법


아래 예제는 volume이라는 dbdata를 만들고 db 서비스 내에서 참조합니다 .

version: '2'
services:
  db:
    image: mysql
    volumes:
      - dbdata:/var/lib/mysql
volumes:
  dbdata:
    driver: local

( https://stackoverflow.com/a/35675553/4291814에서 )

볼륨의 기본 경로는 다음과 같습니다.

/var/lib/docker/volumes/<project_name>_dbdata

내 질문은 dbdata볼륨 에 대한 호스트의 경로를 구성하는 방법입니다 .


으로 local볼륨 드라이버 임의의 마운트를 사용할 수있는 기능을 제공; 바인드 마운트사용하면 정확히이 작업을 수행 할 수 있습니다.

에 장착됩니다 명명 된 볼륨을 설정하려면 /srv/db-data, 당신은 docker-compose.yml다음과 같을 것이다 :

version: '2'
services:
  db:
    image: mysql
    volumes:
      - dbdata:/var/lib/mysql
volumes:
  dbdata:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/srv/db-data'

compose 파일 형식의 버전 2로 테스트 하지는 않았지만 https://docs.docker.com/compose/compose-file/compose-versioning/#version-2 는 작동하지 않아야 함을 나타내지 않습니다.

Windows에서도 테스트하지 않았습니다 ...


명명 된 볼륨의 위치는 docker에 의해 관리됩니다. 위치를 직접 지정하려면 호스트 디렉토리를 "바인드 마운트"하거나 경로를 지정할 수있는 볼륨 플러그인을 사용할 수 있습니다.

최근에 게시 한 다른 답변에서 몇 가지 세부 사항을 찾을 수 있습니다. https://stackoverflow.com/a/36321403/1811501

참고 URL : https://stackoverflow.com/questions/36387032/how-to-set-a-path-on-host-for-a-named-volume-in-docker-compose-yml

반응형