Docker 卷未保存
Docker Volume not saving
在我的Docker文件中,我用这一行来创建数据卷
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 网络应用程序。我可以通过 java 启动命令从命令行 运行 这个 Web 应用程序没问题,并看到数据库更改持续到 hsql 但是当我 运行 时 Docker 容器数据中的完全相同的命令不会持久存在。
如何让数据持久保存在我定义的卷中?
如果您使用 docker volume create
正确创建了 docker 卷。
您应该在 docker 运行 命令中将 docker 卷与 docker 文件卷绑定。
这样:
sudo docker run -v Infrared360SA:/Infrared360SA avada/ir360sa-5.8.2.0 avada/ir360sa-5.8.2.0
在我的Docker文件中,我用这一行来创建数据卷
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 网络应用程序。我可以通过 java 启动命令从命令行 运行 这个 Web 应用程序没问题,并看到数据库更改持续到 hsql 但是当我 运行 时 Docker 容器数据中的完全相同的命令不会持久存在。
如何让数据持久保存在我定义的卷中?
如果您使用 docker volume create
正确创建了 docker 卷。
您应该在 docker 运行 命令中将 docker 卷与 docker 文件卷绑定。 这样:
sudo docker run -v Infrared360SA:/Infrared360SA avada/ir360sa-5.8.2.0 avada/ir360sa-5.8.2.0