Docker-volume绑定到另一个目录,但是文件被克隆到/ var / lib / docker

时间:2019-08-16 06:16:33

标签: docker docker-compose

我用docker-compose文件创建了一个命名卷,并设置了“绑定”到本地目录,但是文件写在我的自定义目录和卷/ var / lib / docker /的默认docker目录中。 ..

我如何使docker只在我的自定义目录上写入?

我的docker-compose文件

version: '3.7'                                                                                                                                                                                                                                

services:                                                                                                                                                                                                                                     
    app:                                                                                                                                                                                                                                      
        image: php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
        ports:                                                                                                                                                                                                                                
            - 8090:80
        volumes:
            - app_files_data:/app/files

volumes:
    app_files_data:
        driver: local
        driver_opts:
          type: 'none'
          o: 'bind'
          device: '/home/myapp/files'

Docker卷检查

[
    {
        "CreatedAt": "2019-08-14T09:47:29Z",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "php",
            "com.docker.compose.version": "1.24.0",
            "com.docker.compose.volume": "app_files_data"
        },
        "Mountpoint": "/var/lib/docker/volumes/my_app_files_data/_data",
        "Name": "php_app_files_data",
        "Options": {
            "device": "/home/myapp/files",
            "o": "bind",
            "type": "none"
        },
        "Scope": "local"
    }
]

1 个答案:

答案 0 :(得分:0)

通过使用app_files_data:/app/filesvolumes部分或使用named volume,因此位置在/var/lib/docker/volumes中,您可以将撰写内容更改为:

version: '3.7'                                                                                                                                                                                                                                

services:                                                                                                                                                                                                                                     
    app:                                                                                                                                                                                                                                      
        image: php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
        ports:                                                                                                                                                                                                                                
            - 8090:80
        volumes:
            - /path/to/app_files_data:/app/files

不是我删除了volumes部分