使用Docker容器-Django在构建后维护媒体文件

使用Docker容器-Django在构建后维护媒体文件,django,python-3.x,docker,Django,Python 3.x,Docker,我使用Django作为Web框架。Azure NGINEX作为Web服务器。我的项目是用Docker容器部署的 在我的Django项目中,根结构如下: root: - app1 - app2 - media MEDIA_ROOT = os.path.join(BASE_DIR,'media') MEDIA_URL = 'media/' 无论何时保存图像,它都会正确地保存在介质文件夹下。但无论何时执行“docker compose up”,它都会替换源代码,这样每次都会清理我的

我使用Django作为Web框架。Azure NGINEX作为Web服务器。我的项目是用Docker容器部署的

在我的Django项目中,根结构如下:

root:
  - app1
  - app2
  - media
 MEDIA_ROOT = os.path.join(BASE_DIR,'media')
 MEDIA_URL = 'media/'
无论何时保存图像,它都会正确地保存在介质文件夹下。但无论何时执行“docker compose up”,它都会替换源代码,这样每次都会清理我的媒体文件夹

在my settings.py文件中,我添加了以下内容:

root:
  - app1
  - app2
  - media
 MEDIA_ROOT = os.path.join(BASE_DIR,'media')
 MEDIA_URL = 'media/'

请帮助我使用基于Docker的环境维护媒体文件

您基本上需要做两件事:

  • 更改目录以将媒体文件保留在源代码目录之外的某个位置-由于以下几个原因,将它们保留在源代码目录中不是任何好的做法
  • 使用
    docker compose
    配置文件中的docker卷来持久保存媒体目录。您可以在
    docker compose
    中找到有关如何配置卷的详细文档

你基本上必须做两件事:

  • 更改目录以将媒体文件保留在源代码目录之外的某个位置-由于以下几个原因,将它们保留在源代码目录中不是任何好的做法
  • 使用
    docker compose
    配置文件中的docker卷来持久保存媒体目录。您可以在
    docker compose
    中找到有关如何配置卷的详细文档

如果您的dockerfile中有卷,您需要在撰写中使用卷并删除媒体文件的副本。如果您的dockerfile中有卷,您需要在撰写中使用卷并删除媒体文件的副本