Tag:

Docker在Amazon云上

我有一个Amazon Cloud EC2实例运行Dockerized flask应用程序。 我可以通过ssh连接到实例,但是当部署并尝试通过我的浏览器连接到公共DNS时,我无法访问已部署的flask应用程序。 网页总是会超时。 我如何查看正在运行的应用程序? 提前谢谢你!

为什么没有人在docker工作? (一体化容器/“黑匣子”)

我需要很多不同的Web应用程序和微服务。 此外,我需要做简单的备份/恢复,并在服务器/云提供商之间移动。 我开始为此研究Docker。 当我看到这样的build议时,我感到尴尬:“为您的应用程序创build第一个容器,为您的数据库创build第二个容器,并将它们连接在一起”。 但是,为什么我需要做独立的数据库容器? 如果我理解正确,主要的信息是docker:“允许在孤立的环境中运行和移动具有所有这些依赖的应用程序”。 也就是说,据我所知,放置在容器应用程序及其所有的依赖关系(特别是如果它是一个小的应用程序没有要求有外部数据库)是适当的。 我如何看待在我的情况下使用Docker的最佳方式: 采取基本图像(例如phusion / baseimage) 基于这个(使用nginx,数据库和应用程序代码)构build我自己的图像。 公开与我的应用程序交互的端口。 在目标服务器上创build基于此映像的数据卷(用于存储应用程序数据,数据库,上载等)或从预备备份恢复数据卷。 运行这个容器,玩得开心。 优点: 易于备份/恢复/移动应用程序。 (仅移动数据卷,只需在新的服务器/环境中启动它)。 应用程序是“黑匣子”,没有头痛的外部依赖。 如果我需要将数据存储在外部数据库或使用数据forms – 没有任何东西阻止我这样做(但通常是不必要的)。 我更喜欢使用其他黑匣子的API来直接访问他们的数据库。 与所有容器的单个数据库的情况相比,隔离性和安全性更高。 缺点: 更大的RAM和磁盘空间消耗。 有点难以扩展。 (如果我需要每秒数千个请求的应用程序的几个实例 – 我可以将数据库移动到单独的容器中,并链接多个应用程序实例,但在极less数情况下需要) 为什么我找不到使用这种方法的build议? 它出什么问题了? 有什么我没有看到的陷阱?

Docker镜像生命周期为基于Java的应用程序

我正在尝试更加熟悉docker,我想知道使用docker作为服务运行java-webapp的最佳实践和生命周期。 如果我的图像已经运行tomcat,或者我应该启动tomcat运行图像? 我将使用数据量来保存存储。 那个容器的状态是什么? 一直运行,或者只是有一个容器处于停止状态。 如果我的应用程序容器停止,如果我重新启动会发生什么? 它会恢复到停止的状态,还是从顶端重新启动?

如何将已经存在的ECS实例添加到新创build的ECS集群

我是AWS新手,正在寻找一种方法将已经存在的ECS实例添加到新创build的ECS群集中。 另外还有一个在Cluster1上运行的任务,我可以将任务复制到Cluster2上运行,当我尝试复制JSON文件时,出现以下错误消息:“应该只包含”family“,”containerDefinitions“,”卷“,”taskRoleArn“,”networkMode“'? 先谢谢你。

如何通过unix套接字在Kubernetes中运行PHP?

我在Google容器引擎中有nginx和php-fpm容器,我想通过unix套接字而不是networking来运行它。 我还拥有Google SQL代理容器,它使用空卷通过放置在与其他容器共享的卷上的套接字提供与Google SQL数据库的连接。 所以我想为PHP使用相同的方法,但它不工作。 我有emptyDirtypes的空量挂载到php和nginx容器。 卷被安装,我可以在两个容器中看到它。 但是,如果我尝试使用nginx我会得到(套接字)文件没有在日志中find。 我也已经将www-data(与php容器中的uid相同)用户添加到nginx容器中,并将其设置在nginx conf中,但没有帮助。 Google SQL代理在某些方面是特殊的,我必须使用PHP的networking,或者我在这里错过了一些东西?

用于云部署的Hibernate数据库configuration

我对云计算和微服务相对比较陌生。 我知道aws ec2 , ansible和docker swarm这样的技术如何在云中提供和创build一个服务集群,但是我不知道如何configuration云环境的软件(当不同服务的连接参数是IP未知,直到部署)。 我习惯于使用裸机环境和静态IP地址进行Spring启动和hibernate,在此将代码服务地址作为pom.xml中的属性,并根据此特定环境的configuration文件将其注入到各种configuration文件中。 最后,一切都是硬编码的地方。 现在考虑一下情况,我将从云中调配环境的整个过程自动化,并使用一个可靠的脚本等来部署软件,服务和数据库。 这个过程会给我带有随机IP的服务器实例。 它将在一次运行中部署所有必要的基础设施组件。 现在,在编译时服务位置未知的情况下,如何configuration软件(数据库连接等)呢? 我应该使用DNS吗? 如果我这样做,那么当我部署到不同的云时会发生什么? 有没有更多的dynamic的方式来configurationDocker群上的云环境的Spring应用程序,也许是利用swarm在覆盖networking上pipe理的一些环境variables? 或者,当我在想象中想象的时候,尝试咬下太多蛋糕,通过云平台和正确的工具,可以将整个基础架构部署到任何环境,只需点击一下,从编译到function,容错服务任何硬编码,一切都自动化?

Docker端口转发与双重networking接口

我完全不知道如何处理这种情况。 首先,我想解释一下我现在正在使用的场景。 我有一个群集和一个覆盖networking的子网是10.10.10.0的5领事容器。 在那里,我的领事集装箱将得到10.10.10.10,10.10.10.11,10.10.10.12,10.10.10.13,10.10.10,14的覆盖networking。 这个群集以OpenStack的forms托pipe在虚拟机中。 主机有一个私有IP 10.176.33.74和分配一个浮动IP 10.176.2.170。 主机内的consul代理使用标准的RPC端口8300join和闲聊。 我有一个使用OpenStacknetworking以外的托pipe代理连接到群集的领事的用例。 最后,来自外部的节点必须通过浮动IP连接,我知道无法直接连接到覆盖networking。 在这种情况下,我有一个想法,为每个Docker容器和负责处理端口转发的接口创build第二个接口。 如果传入的请求正在侦听端口8300,​​则应该转发到consul:8300(consul域将在群集负载均衡器中识别)。 这是可能的,我不知道如何做一个networking接口内的端口转发到另一个接口。 感谢有人能提供指导。

Docker上的Nginx服务在1GB RAM节点上提供了比4GB RAM节点更好的性能

我有1个主节点和2个工作节点。 Worker1 – 1GB RAM,1vCore Worker2 – 4Gb RAM,2vCore我有一个新的6 Nginx服务运行在两个节点上的不同端口。 当我进行Apache Benchmarktesting时,它显示了Worker1的服务的性能(每秒请求数)比Worker2的稍好。 我不明白为什么会有更好的performance。 其他细节 – 我在nginx上下载了最新的图像,分配了端口值,并开始在nginx欢迎页面上执行testing。

Docker负载平衡多个主机会话共享内存

我不知道负载平衡和应用会话如何协同工作。 希望有人可以对此有所了解。 比方说,我有两个节点(host1,host2),我在他们每个人上运行我的Web应用程序。 我的Web应用程序正在使用会话,会话存储在内存中。 比方说,我们有一个名为“乔”的用户,并可以说负载平衡将发送乔“host1”。 乔总是从“host1”服务吗? 如果不是,host2如何知道他的会话,因为他们是不同的机器,他们不共享内存? 或者我需要有一个持久的数据库来存储会话? 如果是的话,如果“host1”由于某些原因失败会发生什么? 我想我们现在回到第二点。 我正在通过docker教程和参考,我成功地启动了一些虚拟机和多个副本,但是我找不到任何解释这些基本知识的东西。 谢谢!

如何访问在openshift3(野蛮服务器)中部署的应用程序

我已经在我的本地野蛮服务器中部署了应用程序,并能够通过url( http://127.0.0.1:8080/dhana/)访问我的应用程序。 我在openshift3 starter(new)中部署了相同的应用程序,构build和部署成功。 它显示我的服务url为( http://dhanabalan-dhana.a3c1.starter-us-west-1.openshiftapps.com ),但是当我试图打这个链接,它显示如下 看起来像服务器启动和运行,任何人都可以指导我访问应用程序? 我需要在这里指定任何端口(8080)吗? 注意: ROOT.war是已部署的文件