Docker容器内的文件系统更改不会显示在主机文件系统上

时间:2017-01-31 10:52:46

标签: docker docker-compose

我使用Docker和docker-compose在容器内运行我的应用程序。这是我的docker-compose.yml:

version: '2'
services:
    omsevents:
        build:
            context: ./omsevents
        volumes:
            - "../oms-events:/usr/app/oms-events"
            - "../oms-events/assets:/usr/app/oms-events/assets"

问题是,我的应用程序是一个服务器,它所做的一件事就是文件上传。当我上传文件时,它是在容器内创建的(我可以bash在容器内部进行检查,然后在/usr/app/oms-events/assets中进行检查),将其创建在主机文件系统(../oms-events/assets/文件夹为空)。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

根据Docker Compose的documentation

  

您可以在主机上安装相对路径,该路径将相对于正在使用的Compose配置文件的目录进行扩展。相对路径应始终以。或.. ..

因此,您可以尝试将docker-compose文件移动到上下文目录中,并从构建部分中删除context子句,只留下build: .(或者Dokerfile所在的位置)。然后只需修复卷的相对路径或尝试使用绝对路径。