Docker卷不会删除文件

问题描述 投票:0回答:1

我们使用docker volume来存储docker主机文件夹中的一些静态文件。当我重新启动容器时,在主机目录中更新/添加的文件我可以看到docker volume中的更改。但是,当我从主机删除文件时。该文件未被删除。我必须使用docker volume,因为这是一个可共享的资源。以下是我的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

因此,如果我从myapp中删除任何文件并重新启动docker容器,则文件不会从docker卷中删除。

有什么我想念的吗?

docker docker-compose docker-container docker-volume
1个回答
0
投票

在撰写文件时,您正在创建命名卷test-volume。本卷是testtest-gateway服务中的参考。

此卷与docker主机上的文件夹无关。因此,您无法删除主机上的文件,并且预计这将反映在您的命名卷中。

如果您想在docker主机上映射文件夹,则需要使用用于映射conf.d文件的语法。

volumes:
  - ./some_folder_on_host:/some_folder_in_container
© www.soinside.com 2019 - 2024. All rights reserved.