Questions tagged «docker»

4
与其他更接近Unix二进制语言的语言相比,使用Java时使用Docker的开发优势是否被否定?
我有一个朋友说: Docker很棒。您可以使用它在本地计算机上复制生产及其所有怪癖。然后,您可以超快速地通过所有登台工作流直接部署该实例。 现在,如果开发人员正在编写Ruby,PHP或Go(存在指向操作系统的定向二进制链接),这将是正确的。 但是当使用Java时 - 操作系统和语言之间已经存在一个虚拟层,无论底层操作系统如何,都可以确保操作的一致性。 可以说,在这种情况下,否定了为本地开发人员运行Docker来复制生产环境的好处。(与Ruby,PHP或Go相比)。 我愿意就此进行讨论,并热切希望听到持异议的观点(有证据)。 与其他更接近Unix二进制语言的语言相比,使用Java时使用Docker的开发优势是否被否定?
53 java  deployment  jvm  docker 

3
我应该在Docker映像中包含测试吗?
关于测试,我可以想到两个选择: 将测试和应用程序放在一张图中。 在图像中仅包含应用程序代码。创建一个特定于测试的容器,该容器在主映像之后构建并向其添加一些层(测试代码,依赖项等)。 使用第一个选项,我可以测试容器并按照测试的要求完全运送它。明显的缺点是不必要的代码(以及潜在的测试数据)将包含在图像中。 使用第二种选项时,出厂的图像与测试的图像不太相同。 两者看起来都是错误的策略。有没有第三种更好的策略?

3
在Docker容器中运行开发环境是否有好处?
我主要在Windows上使用Visual Studio进行开发。问题是一段时间后Windows陷入困境,我面临着需要重新安装Windows的麻烦。同样,切换到新机器也是一个问题。 重新安装Windows很麻烦,因为我的开发环境有很多依赖项(例如,额外的MSBuild配置文件,VS扩展,npm,Java等)。我不认为我会一个人拥有复杂的系统,而将其设置为备份至少可能需要一天的时间。 我没有真正使用过Docker,但是从理论上讲,这听起来像我可以在Windows容器中设置我的开发环境,然后随身携带它(例如,复制到我的笔记本电脑中,放入新的Windows安装中),这应该很轻松。 我要描述的可能吗?是否存在性能,可靠性等缺点?其他陷阱?
12 docker 

2
多租户或多实例?
我试图构建一个基于Web的SaaS解决方案,但遇到了不确定使用多租户或多实例的道路。我将尝试描述我要实现的目标,以及每种方法的优缺点(根据我的阅读,我的观点)。请提出您的建议,以防万一我错过了其他任何方法。 正如我提到的那样,我要构建的应用程序是一个SaaS解决方案,公司可以在其中创建帐户,每个帐户/公司都有自己的用户,客户,产品,服务等。每个用户;谁是公司员工;与一个帐户/公司相关的信息将只能访问其公司的客户,产品和服务。公司可以拥有无​​限数量的客户,产品和服务,因此每个公司都应该拥有自己的数据中心。 为此,我决定创建一个共享数据库(保存所有用户凭据以用于登录)和多个数据库共享架构(每个帐户/公司的数据库)。基本上,多租户。 然后有人建议使用多实例代替,每个公司将有自己的应用程序实例(即代码,库,数据库,框架等),与其他公司完全分开。这听起来更好,因为我不必在需要确保每个租户的用户只能访问其公司数据的额外层上打理。我认为值得一提的是,我依靠Docker来实现这种方法(我以前从未使用过),但是我认为它缺乏将来我将需要的功能(以后会更多)(至少我没有这样做)。一点点搜索就找不到它们)。 但是,每种方法都各有利弊,因此我无法决定采用哪种方法。这是一个列表,但由于我对它们都不了解,所以对我几乎一无所知,因此可能存在一些我不知道的问题,或者是针对我在网上找不到的问题的解决方案:[每种方法都有我跟着一个一个的比较的有序列表] 多租户: 共享的主机/硬件,共享的代码和多数据库。 这是容易扩展的代码并修复错误的功能(共享代码)。 在不更改代码的情况下,很难扩展硬件(可以使用云服务)或将单个租户的数据库移至另一个系统。 最重要的是,如前所述,我需要在系统中添加一个额外的层,以确保用户实际上属于他/她的公司,而不访问其他公司的信息。 多实例: 共享或不共享的主机/硬件,每个实例的代码以及每个实例的数据库。 这是很难扩展功能或修复的错误(我不知道是否有办法做到这一点在码头工人在那里你可以添加功能/特性,以一个实例或码头集装箱,并将其部署到其他人)。 这是更容易对整个实例移动到不同的主机/硬件。 作为实例,我不需要照顾该层,因为每个实例将拥有自己的数据库。 万一我想手动做任何事情(例如为每个租户手动创建一个实例),所有的优点和缺点都是多余的,这就是为什么我怀疑Docker解决方案的原因,除非有一种解决方法,这也许是主要的问题的原因。如果您能通过参考解决方案来回答问题,以及为什么您认为这种方法比其他方法更好,我将不胜感激。 如果有帮助(也许?),我们使用Laravel作为后端的主要框架(全部为RESTful)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.