Tag: 域驱动devise

Devise在Docker中找不到“Warden :: Proxy”

我find了一些关于这个问题的答案。 我从Docker容器中加载Web时遇到此错误。 我试着在这里build议什么 Helper Devise:根据请求环境找不到“Warden :: Proxy”实例,但没有成功 这是我的Dockerfile FROM ruby:2.4.0 ENV PHANTOM_JS="phantomjs-2.1.1-linux-x86_64" RUN curl -sL https://deb.nodesource.com/setup_6.x | bash – && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add – && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ apt-get upgrade -y && \ apt-get install -y rake less rsync […]

多个独立的mariadb用法:多个容器或一个? 隔离与效率?

我有一个build筑问题。 假设我们有一个有多个子系统的系统: A , B等等。 每个子系统都需要保存他们的数据,他们都使用MariaDB 。 子系统A可能需要一个名为a_db的database (如在create database … ) 而子系统B可能需要一个名为b_db的数据库。 而且, A和B之间没有数据共享 在微服务和docker之前的一个单一的世界中,通常要build立一个中心MariaDB实例,并要求每个子系统使用它,并在共享实例上使用自己的 database (也就是说, A使用a_db , B使用b_db等) 使用docker,我想我们也可以运行多个mariadb容器,并且每个都映射他们自己的卷用于存储(例如分别为/data/mdb_a和/data/mdb_b )。 A和B之间完全隔离是一个明显的优势。 A会不小心混淆了B的数据。 而且这两个子系统可以独立selectclosures/重新启动他们自己的MariaDB容器,甚至升级他们的MariaDB二进制文件。 另一方面,我的一些同事认为,运行多个MariaDB容器效率不高,这种方法会浪费资源。 他们的良好实证测量和文章是否讨论了两种方法之间的权衡?

docker的注册驱动程序在源代码中被初始化在哪里?

我试图了解Docker的源代码,同时学习Go。 Docker的一个让我困惑的区域是在75行的docker / daemon / graphdriver / driver.go中, strings映射的name属性被访问以获得types为InitFunc的函数。 但是,我似乎无法finddrivers的注册驱动器的初始化,似乎需要在某个地方完成。

docker-compose v2在主机上命名卷和卷

我正在寻找指导如何做一个docker-compose.yml版本2最干净的方法: 容器状态与容器明显分离。 为简单起见,将容器状态安装到主机(单个数据点,主机上的备份/数据,然后完成)。 我打开这是错误的,见下面的问题)。 该应用程序是一个经典的networking应用程序,后端有一个mysql&redis数据库,并有一个直接为静态资产提供服务的代理服务器。 像depends_on ,环境variables和networking的一些细节故意省略。 这是我现在使用的: version: "2" services: proxy: build: context: ./apps/nginx ports: – "80:80" – "443:443" volumes: – /etc/localtime:/etc/localtime:ro – ./data/web/assets:/var/www/assets:ro – ./data/web/puma:/var/run/puma web: build: context: ./apps/rails volumes: – /etc/localtime:/etc/localtime:ro – ./data/web/assets:/srv/app/public/assets – ./data/web/puma:/var/run/puma db: image: mysql:5.7 volumes: – /etc/localtime:/etc/localtime:ro – ./data/mysql:/var/lib/mysql redis: image: redis volumes: – /etc/localtime:/etc/localtime:ro – ./data/redis:/data 以下是我计划用于下一版本的内容: […]

微服务架构数据库备份和恢复

我正在做一个基于微服务架构的大项目,所以考虑我有10个服务,其中一些有自己的数据库,这些数据库是在不同的技术(mysql,mongodb,elastic …) 那么备份和恢复服务收集的最佳做法是什么? 真正的问题是这些数据库是相互关联的,例如在我的逻辑后端服务器上我保存来自oauth服务器的每个用户的oauhId, 现在考虑分别恢复这两个数据库,现在我的逻辑服务器上的用户数据库包含一些用户,这些用户在oauth服务器上没有任何相关logging, 只是为了您的信息,我正在使用docker,docker-compose和docker swarm来进行服务编排。

产品版本控制微服务

我进入基于Docker的微服务架构,我有3个微服务,它们共同创build一个产品,例如“CRM系统”。 现在,我希望我的客户能够随时升级他的产品。 我有3个不同版本的微服务,哪一个客户应该看到? 我猜产品版本应该独立于微服务,因为复制一个微服务版本会让我陷入比没有任何版本更麻烦的地步。 那么是否有任何模式,想法来处理这种情况? 我唯一想到的就是有一个存储库,只要其中的一个微服务可以生产现成的包,就会有一个版本库。 不过,我现在有一个版本,我的产品所有者(PO)都不会知道这个版本。

Docker中的端口转发的Rails应用似乎会导致CSRFexception

我有一个在Docker容器中运行的Rails应用程序,它被分配了一个IP 172.17.0.3 。 对主机51.xxx传入请求被转发到172.17.0.3的rails应用程序。 更具体地说,这是这样做的: docker run -p 8080:8080 rails_app 但是,Rails应用程序抛出当用户尝试访问某些页面时Can't verify CSRF token authenticity错误。 我怀疑Rails认为传入的请求是攻击,因为目标的ip不匹配Rails应用程序的ip – 即用户请求被引导到主机51.xxx ,而Rails的实际位置是172.17.0.3 有什么办法让我告诉Rails这些请求是合法的吗? 作为附加信息,我使用devise进行身份validation,并使用unicorn作为服务器。 你们中的一些人可能会试图build议将protect_from_forgery with: :exception更改protect_from_forgery with: :exception :null_session ,但是如果没有放在代理之后,应用程序就可以正常工作。 另外,当我改变那个部分的时候,一些逻辑将不起作用,因为我认为这个设置是以处理用户会话的方式出现的。 这是我的networking的布局: (user from public network) —-> (proxy) —-> (rails app on a private network) (202.xxx) (51.xxx) (172.xxx) 编辑:该应用程序在development设置。 这是我在log/development.log文件中得到的错误。 Started POST "/register" for 202.xxx at 2014-11-18 […]

Elasticsearch群集的build议设置包含TB和更高级别的数据?

目前,我有几个Elasticsearch节点在几个裸机上运行,​​包含大小为TB的索引。 我们正在重build我们的基础设施,我不确定这是否是最好的方法。 我一直在寻找Docker,Mesos和Vagrant作为替代品,但我不确定它们是否可能。 我认为有四种情况是相关的(以及我遇到的问题): Mesos-Elasticsearch :这个包在Mesos上运行Elasticsearch。 这看起来不错,但它似乎只允许以小磁盘大小来扩展数据节点。 另外,没有主/客户端节点。 这个软件包目前在Github上是非常stream行的 – 我在默认设置中收到了“无路由到主机”和MasterNotDiscoveredException错误。 有没有人有这方面的经验? Docker :我不太熟悉容器,但是Dockerhub有几个Elasticsearch的容器。 而且,Mesos允许容器在其上运行。 我担心每个容器中的磁盘空间不足,因为我的数据处于TB的范围之内。 而且,数据是持久的。 正在调整容器的磁盘的大小是否可行或是否有不同的Docker容器设置? Vagrant虚拟机 :我会想象有一个适合分配资源的每个ES节点的虚拟机。 与使用裸机相比,是否有任何实质性的好处? 这似乎与Mesos不兼容。 裸机 :这是当前的设置。 我想知道在TB级别的Elasticsearch集群中,哪四个是您的首选设置。 每个选项的优缺点?

Neo4j – Java堆空间。 错误的查询或设置?

我有一个neo4j的问题。 我不知道如果问题是我的查询或其他东西。 介绍 我必须build立一个存储公共汽车/火车路线的应用程序。 这是我的模式: 节点 : 组织机构 :有路线/公交车的公司等 路线 :巴士路线:巴黎 – 柏林。 车辆(在这种情况下为公交车) :带有独特车牌的Fisical公交车。 停止 :指向经纬度的地图。 重要的关系 : 下一步 :这是一个非常重要的关系。 NEXT关系包含这些属性: startHour startMinutes endHour endMinutes dayOfWeek(从0到6 – Sun,Mon等) vehicleId 问题 我的查询是: MATCH (s1:Stop {id: {departureStopId}}), (s2:Stop {id: {arrivalStopId}}) OPTIONAL MATCH (s1)-[nexts:NEXT*]->(s2) WHERE ALL(i in nexts WHERE toInt(i.dayOfWeek) = {dayOfWeek} AND toInt(i.startHour) >= {hour}) RETURN […]

DEIS没有公共IP

按照这里的说明: https://github.com/deis/deis/tree/master/contrib/ec2 将Deis部署到EC2到VPC中,CloudForms堆栈启动并创build实例,但是实例没有公有IP,启动实例的子网确实启用了自动分配公共IP。 所以,没有公共IP,我不知道如何连接到与舰队的实例。 任何人有什么想法,我失踪了?