我们正在使用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卷中删除。
我有什么遗失的吗?
答案 0 :(得分:0)
在撰写文件时,您正在创建命名卷test-volume
。此卷是test
和test-gateway
服务中的引用。
此卷与docker主机上的文件夹无关。因此,您无法删除主机上的文件,并希望这将反映在您的命名卷中。
如果您要在docker主机上映射文件夹,则需要使用用于映射conf.d
文件的语法。
volumes:
- ./some_folder_on_host:/some_folder_in_container