使用Docker创建Django应用程序的脱机版本

使用Docker创建Django应用程序的脱机版本,django,docker,offline,data-synchronization,Django,Docker,Offline,Data Synchronization,我是Docker的新手,在进一步调查之前,我想断言它是适合我需要的工具 情况如下: 我必须开发一个Django应用程序,主要用于在线。但有些用户有时需要离线使用此应用程序。然后,回到在线,他们需要将这些工作推送到主应用程序 Docker能帮我给这些用户提供一个完全工作的离线版本的在线应用程序,只需要很少的工作(显然不是我,而是他们…) 感谢您的回答。Docker将帮助您脱机运行堆栈,从而帮助您处理所有环境部分,以完全相同的方式运行数据库、应用程序和代理,因为它们是联机的-无论实际用户使用的是哪种

我是Docker的新手,在进一步调查之前,我想断言它是适合我需要的工具

情况如下: 我必须开发一个Django应用程序,主要用于在线。但有些用户有时需要离线使用此应用程序。然后,回到在线,他们需要将这些工作推送到主应用程序

Docker能帮我给这些用户提供一个完全工作的离线版本的在线应用程序,只需要很少的工作(显然不是我,而是他们…)


感谢您的回答。

Docker将帮助您脱机运行堆栈,从而帮助您处理所有环境部分,以完全相同的方式运行数据库、应用程序和代理,因为它们是联机的-无论实际用户使用的是哪种操作系统

这减少了您让应用程序以与离线完全相同的方式在线运行的工作量,无论是在windows、mac还是linux上

Docker不会以任何方式帮助您管理数据库合并、文件系统合并或诸如此类的事情。如果两个用户脱机更改相同的内容,然后尝试同步,则无论您是否使用docker,您都会遇到麻烦


对于那些数据库合并和文件合并,您需要不同的技术,这些技术可以与docker一起使用,也可以不使用。

docker将帮助您脱机运行堆栈,从而帮助您处理所有环境部分,以完全相同的方式运行数据库、应用程序和代理,就像它们联机一样-无论实际用户使用的是哪个操作系统

这减少了您让应用程序以与离线完全相同的方式在线运行的工作量,无论是在windows、mac还是linux上

Docker不会以任何方式帮助您管理数据库合并、文件系统合并或诸如此类的事情。如果两个用户脱机更改相同的内容,然后尝试同步,则无论您是否使用docker,您都会遇到麻烦


对于那些数据库合并和文件合并,您需要不同的技术,这些技术可以与docker一起使用,也可以不与docker一起使用。

简单的回答是,是的,docker将提供帮助

较长的答案是非常主观的,对于如何达到你想要的结果会有不同的意见。例如,使用和等虚拟化工具创建离线开发拷贝已经有一段时间了

因此,我首先要问自己以下问题:

  • 在生产环境中,我通常在哪里部署应用程序
  • 此部署是否自动化且可重复
  • 是否捕获了我的应用程序的所有平台(和数据)依赖关系
  • 所有问题的一个好答案将为您提供一个采用Docker等新技术的好地方。你只需要了解你现在做的和你需要做的之间的差异。不幸的是。。。。对于公司来说,拥有我称之为“神奇构建服务器”(magic build server)的情况并不少见,它是由一个经过的向导创建的,负责所有软件版本:-(

    假设最坏的情况,我的建议是从使用虚拟机的应用程序的可重复部署开始要捕获设置服务器所需的所有步骤,换句话说,通过捕获您的来开始练习DevOps。我强烈建议使用将所有这些结合到本地开发人员环境中

    假设(另一方面)你能很好地采用像Docker这样的新技术,那么,我会问自己一些非常类似的问题:

  • 我打算在生产中在哪里运行docker应用程序
  • 什么编排技术将用于部署和管理Docker容器
  • 我将如何构建和存储每个应用程序版本的Docker映像
  • 跳转到一个答案,我推荐目前最大、最差的容器管理解决方案:。它越来越多地作为本地服务由Google和Azure等云提供。从历史上看,Kubernetes很难在本地运行它,但随着or等工具的出现,这一点正在发生变化。我就到此为止


    总之,我希望我的长篇大论对你的决策有点帮助。

    简短的回答是,是的,Docker会帮助你的

    较长的答案是非常主观的,对于如何实现期望的结果会有不同的意见。例如,使用和等虚拟化工具创建离线开发拷贝已经有一段时间了

    因此,我首先要问自己以下问题:

  • 在生产环境中,我通常在哪里部署应用程序
  • 此部署是否自动化且可重复
  • 是否捕获了我的应用程序的所有平台(和数据)依赖关系
  • 所有问题的一个好答案为您提供了一个采用Docker等新技术的好地方。您只需要了解您现在正在做的事情和您需要做的事情之间的差异。不幸的是……公司拥有我称之为“神奇构建服务器”的情况并不少见,由通过的向导创建,负责所有软件版本:-(

    假设最坏的情况,我的建议是从使用虚拟机的应用程序的可重复部署开始要捕获设置服务器所需的所有步骤,换句话说,通过捕获您的来开始练习DevOps。我强烈建议使用将所有这些结合到本地开发人员环境中

    假设(另一方面)你能很好地采用像Docker这样的新技术,那么,我会问自己一些非常类似的问题:

  • 我打算在生产中在哪里运行docker应用程序
  • 什么编排技术将用于部署和管理Docker容器
  • 我将如何构建和存储每个应用程序版本的Docker映像
  • 跳转到一个答案,我会推荐目前最大和最差的容器管理解决方案:。它正越来越多地被提供