Docker的文档指出,卷可以进行“迁移”,我认为这意味着我应该能够将一个卷从一个主机移动到另一个主机(如果有错误,请指正)。然而,同一文档页面没有提供如何操作的信息。
在SO上查找时,我发现了一个较早的问题(约2015年左右),它说明这是不可能的,但是考虑到时间已经过去2年,我想再次提问。
如果需要,我正在开发一个使用[TinyDB]+本地磁盘作为数据存储的Flask应用程序。我确定我不需要比这更复杂的东西;目前这是一个学习项目,因此我决定采用非常轻量级的方法。该项目的结构如下:
我有一个名为
我想要做的是在远程主机上部署容器,但是让远程主机使用起始数据(理想情况下,这将是我在本地使用的卷,以获得最大方便性); 随着在远程主机上添加更多数据,我希望能够将其拉回,以便在开发期间,我正在使用最新的由最终用户输入的数据。
寻找解决方案时,我考虑了“hacky”的方法,即简单地使用
在SO上查找时,我发现了一个较早的问题(约2015年左右),它说明这是不可能的,但是考虑到时间已经过去2年,我想再次提问。
如果需要,我正在开发一个使用[TinyDB]+本地磁盘作为数据存储的Flask应用程序。我确定我不需要比这更复杂的东西;目前这是一个学习项目,因此我决定采用非常轻量级的方法。该项目的结构如下:
/project_directory
|- /app
|- __init__.py
|- ...
|- run.py # assumes `data/databases/ and data/files/` are present
|- Dockerfile
|- data/
|- databases/
|- db1.json
|- db2.json
|- files/
|- file1.pdf
|- file2.pdf
我有一个名为
data/*
的文件夹,它在我的.dockerignore
和.gitignore
中,因此它们不会被放入版本控制并且在构建镜像时被Docker忽略,同时我也想尽可能接近真实世界地使用数据库条目和PDF文件,所以我用一小部分真实数据来填充应用程序,这些数据存储在一个卷中,当Docker容器被实例化时,该卷直接挂载到data/
中。我想要做的是在远程主机上部署容器,但是让远程主机使用起始数据(理想情况下,这将是我在本地使用的卷,以获得最大方便性); 随着在远程主机上添加更多数据,我希望能够将其拉回,以便在开发期间,我正在使用最新的由最终用户输入的数据。
寻找解决方案时,我考虑了“hacky”的方法,即简单地使用
rsync
,这可能完全可以胜任。 但是,如果我错过了什么解决方案,我将非常感激您的指导!