Docker Volume无法保存

时间:2017-04-10 20:32:14

标签: java tomcat docker hsqldb

在我的Dockerfile中,我有这一行来创建数据卷

VOLUME /Infrared360SA

我看到此卷是通过运行以下内容创建的:

zack@zack-Inspiron-5748:~/Docker$ sudo docker volume inspect Infrared360SA
[
    {
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/Infrared360SA/_data",
        "Name": "Infrared360SA",
        "Options": {},
        "Scope": "local"
    }
]

但是,当我通过docker run运行我的应用程序时,我没有看到该目录下面的数据仍然存在。我尝试运行的应用程序是一个使用 hsql 数据库的嵌入式 tomcat Web应用程序。我可以通过 java 启动命令从命令行运行此Web应用程序没有问题,并且看到数据库更改仍然存在于 hsql 但是当我在Docker容器中运行相同的命令时数据不存在。

如何在我定义的卷内保留数据?

1 个答案:

答案 0 :(得分:1)

如果您使用docker volume create创建了泊坞窗卷。

您应该在docker run命令中将docker-volume与dockerfile卷绑定。 这样:

sudo docker run -v Infrared360SA:/Infrared360SA avada/ir360sa-5.8.2.0 avada/ir360sa-5.8.2.0