是否可以仅在文件尚未退出的情况下将其写入我的卷中,并且永不删除我以前的文件?
我有一个Dockerfile,它创建一个名为bot
的映像。在图像中,我有一个文件夹/models
,该文件夹可以为空。
构建映像后,将其推送到Nexus / Dockerhub存储库。
要在我的VM上构建我的应用程序,我有一个docker-compose.yml,其中除其他外称为bot
映像,还指定文件夹/models
应该在一个卷中。
我的问题是,如果我先进行file_1
然后{ {1}}由于容量原因,我保留了这些文件。但是,如果我有映像的新版本file_2
,当我执行/models
时,将调用映像的新版本(这几乎是我想要的),但是我将删除文件夹{{1 }},并从图片中添加新的docker-compose down
文件夹。
因此,我想找到一种方法来写入卷中的文件,除非它们尚未退出并且永远不要删除我以前的文件。
docker-compose up -d
答案 0 :(得分:0)
沿着@masseyb的注释行,我将在映像构建时执行任何文件检查,并在映像内写入一个小文件(甚至是要执行的shell脚本),以告诉我模型文件是否可写。然后,您在ENTRYPOINT中调用的脚本可以使用该文件执行适当的复制逻辑。
您还可以通过运行容器并查找您的构建步骤在其中写入的文件,来使撰写Shell脚本执行主机级检查。
希望这会有所帮助!