2017-12-28 29 views
0

docker 볼륨을 사용하여 docker 호스트의 폴더에있는 일부 정적 파일을 저장합니다. 컨테이너를 다시 시작하면 호스트 디렉토리에 업데이트/추가 된 파일에서 도커 볼륨의 변경 사항을 볼 수 있습니다. 그러나 호스트 컴퓨터에서 파일을 삭제할 때. 파일이 삭제되지 않습니다. 공유 할 수있는 리소스이므로 고정 표시기 볼륨을 사용해야합니다. 내가 MyApp를에서 모든 파일을 제거하고 파일이 고정 표시기 볼륨에서 삭제되지되어있는 고정 표시기 컨테이너를 다시 시작하면 다음 는, 그래서 내 고정 표시기의 작성 파일Docker 볼륨에서 파일을 삭제하지 않습니다.

version: '2' 
volumes: 
    test-volume: {} 
services: 
    test: 
    image: test-volume:test1 
    volumes: 
     - test-volume:/var/myapp 
    test-gateway: 
    image: test-gateway:latest 
    ports: 
     - "8080:80" 
    volumes_from: 
     - test 
    volumes: 
     - ./test-gateway/conf.d:/etc/nginx/conf.d 
    environment: 
     - SITE_ROOT=root 
     - SITE_ROOT_ROUTE_FROM=/ 
     - SITE_ROOT_ROUTE_DIRECTORY=/var/myapp/static 

입니다.

누락 된 항목이 있습니까?

+0

달성하고자하는 것이 분명하지 않습니다. 도커 볼륨으로 호스트의 폴더 마운드에 노력하고 있습니까? – Sebastian

+0

테스트 서비스의 폴더를 다른 컨테이너/서비스와 공유하려고합니다. – Niks

+0

게시 한 파일에 다른 컨테이너가 정의되어 있지 않습니다. 전체 파일을 게시해야합니다. – Sebastian

답변

0

파일을 작성하면 이름이 지정된 볼륨 test-volume이 생성됩니다. 이 볼륨은 testtest-gateway 서비스에 대한 참조입니다.

이 볼륨은 도커 호스트의 폴더와 아무 관련이 없습니다. 따라서 호스트의 파일을 삭제할 수 없으며 이름이 지정된 볼륨에 반영됩니다.

도커 호스트의 폴더를 매핑하려는 경우 conf.d 파일 매핑에 사용한 구문을 사용해야합니다.

volumes: 
    - ./some_folder_on_host:/some_folder_in_container 
+0

). – Niks