Docker的文件存储选项

时间:2017-10-02 05:02:10

标签: docker

我们计划将Docker与我们新的asp.net核心项目一起使用,其中一个要求是应用程序将上传文件,我们需要永久存储它们。 我们已经读过Docker每个容器创建文件系统/卷(我的术语可能不精确),如果容器因任何原因重新创建 - 文件系统/卷暴露给容器就会丢失。

我们希望避免在我们的数据库中存储文件(mongodb)。

使用Docker永久保存文件和通过Docker可靠存储的常用最佳实践方法是什么?

2 个答案:

答案 0 :(得分:1)

在外部存储服务器中保留非短暂数据是一种解决方案。最近的方法是使用S3或本地等效项minio来存储需要比容器的生命周期更长的共享或私有数据。

答案 1 :(得分:1)

请参阅similar question

可以在docker镜像/容器中创建数据卷。

$ docker run -d -P --name web -v /webapp training/webapp python app.py

这将在/ webapp的容器内创建一个新卷。但是一旦容器被销毁,存储的文件就会丢失。

另一方面,我们可以将主机目录挂载到容器中。然后,可以在容器内访问主机目录。

$ docker run -d -P --name web -v /src/webapp:/webapp training/webapp python app.py

此命令将主机目录/ src / webapp安装到/ webapp的容器中。 即使容器被销毁,docker容器存储到此安装目录中的文件也将可用。如果您计划将文件保留在容器的生命周期之外,这将是一个不错的选择。