Tag: 工wild

将APIMAN连接到外部ElasticSearch数据库以获取指标

我试图使用Docker-compose将APIMAN连接到外部弹性search数据库。 我遇到了一些问题(请参阅下面的日志输出)。 这里是configuration: -apiman.properties apiman.es.protocol=http apiman.es.host=MY_MACHINE_HOST apiman.es.port=9200 apiman.es.username=elasticsearch apiman.es.password= apiman.es.timeout=10000 apiman-manager.metrics.type=es apiman-manager.metrics.es.client-factory= apiman-manager.metrics.es.protocol=${apiman.es.protocol} apiman-manager.metrics.es.host=${apiman.es.host} apiman-manager.metrics.es.port=${apiman.es.port} apiman-manager.metrics.es.username=${apiman.es.username} apiman-manager.metrics.es.password=${apiman.es.password} apiman-manager.metrics.es.timeout=${apiman.es.timeout} ETC… 和日志 ERROR [io.undertow.request] (default task-28) UT005023: Exception handling request to /apiman/organizations/test/apis/test/versions/1.0/metrics/planUsage: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: java.lang.IllegalArgumentException: name is empty at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76) at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212) at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:411) ETC… Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: name is empty at io.apiman.manager.api.war.WarCdiFactory.provideMetricsESClientFactory(WarCdiFactory.java:255) at […]

Docker群集模式负载均衡

我build立了一个docker群模式集群,有两个经理和一个工人。 这是在Centos 7.他们在机器dkr1,dkr2,dkr3。 dkr3是工人。 那天我升级到v1.13,并且想要零宕机。 但它没有像预期的那样工作。 我试图找出正确的方法来做到这一点,因为这是拥有一个集群的主要目标之一。 群体处于“全球”模式。 那就是每台机器一个副本。 我的升级方法是耗尽节点,停止守护进程,yum升级,启动守护进程。 (请注意,这消除了我的守护进程configuration设置ExecStart = …! 如果升级,请小心。 我们的客户端/ ESB命中dkr2,它在群集上进行负载平衡。 dkr2这是领导者。 dkr1是'可达' 我放下了dkr3。 没有问题。 升级docker。 把它带回来。 没有把工人倒下的停机时间。 带来了dkr1。 起初没有问题。 当我把它拿下来的时候还在工作。 升级docker。 把它带回来。 但在创业期间,它已经404了。 一旦起来,这是确定的。 带来了dkr2。 我实际上没有logging那时发生的事情,对不起。 无论如何,当我的应用程序在dkr1上启动时,它已经404了,因为服务器还没有启动。 任何想法我可能做错了什么? 我想我需要一些健康检查,因为容器显然是好的,但服务器没有响应。 那就是当我停工的时候

如何让dockerd用正确的权限创build绑定卷目录

当我使用以下命令运行docker容器时: docker run -ti -v /tmp/michael:/opt/jboss/wildfly/standalone/log jboss dockerd用owner和group = root创build目录/ tmp / michael。 这当然会导致权限在试图写日志文件时拒绝jboss的错误。 我必须手动创build/ tmp / michael,并给予chmod g+w权限来解决这个问题。 然后dockerd以正确的权限重用现有的dir。 这不是我想要的。 有谁知道如何强制dockerd以正确的权限创build这些目录 附加信息: Dockerfile: FROM jboss/wildfly ADD entrypoint.sh / ENTRYPOINT "/entrypoint.sh" entrypoint.sh :(用于testing目的只是触摸文件而不是启动jboss) #!/usr/bin/env bash chown jboss:jboss /opt/jboss/wildfly/standalone/log myfile=lala.`date +"%s"` touch /opt/jboss/wildfly/standalone/log/${myfile} 但即使在这里,如果/ tmp / michael不存在,也没有组+ w,我会收到拒绝的权限。 我不知道如何摆脱这一点

具有脚本参数的Docker入口点

在Dockerfile我们可以定义入口点如下: From Wildfly ENTRYPOINT["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"] 但我想通过入口点,而我们启动容器与一些参数如下: – docker run -it –entrypoint /opt/jboss/wildfly/bin/standalone.sh -Ddb_driver=mysql -b 0.0.0.0 -Duser=root Wildfly 但它不工作,因为docker试图评估脚本参数(-D和-b)作为docker命令参数。 我在报价中给出了入口点,但是它不起作用。 我怎样才能在docker入口处传递脚本参数?

用CRIU实时迁移jboss / wildfly容器失败

我试过把一个野蛮容器迁移到另一个主机上, 就像这里所描述的那样 。 np容器的例子运行良好。 当我用一个简单的jboss / wildfly容器replace示例时,当criu尝试恢复另一个主机上的容器时,我刚收到此错误: Error response from daemon: Cannot restore container <CONTAINER-ID>: criu failed: type NOTIFY errno 0 Error: failed to restore one or more containers 因为我没有find解决这个错误的方法,所以我编译了像在criu网站和这里所描述的linux内核。 之后, sudo criu check打印: Warn (criu/libnetlink.c:54): ERROR -2 reported by netlink Warn (criu/libnetlink.c:54): ERROR -2 reported by netlink Warn (criu/sockets.c:711): The current kernel doesn't support […]

在构build泊坞窗图像时无法处理文件和目录

在Dockerfile中我有这样的: FROM jboss/base-jdk:8 ENV WILDFLY_VERSION 10.1.0.Final ENV JBOSS_HOME /opt/jboss/wildfly ENV config $JBOSS_HOME/wildfly-10.1.0.Final/domain/configuration ENV master_address 192.168.56.10 ENV tmp /tmp/wildfly-10.1.0.Final/domain/configuration COPY wildfly-10.1.0.Final.tar.gz /tmp/wildfly-10.1.0.Final.tar.gz RUN cd /tmp/ RUN tar xf /tmp/wildfly-10.1.0.Final.tar.gz -C /tmp/ RUN sed -i -e 's/noed_name/$HOSTNAME/g' $tmp/host.xml RUN sed -i -e 's/host_master/$master_address/g' $tmp/host.xml RUN sed -i -e 's/secret_value/$secret/g' $tmp/host.xml RUN mv /tmp/wildfly-10.1.0.Final $JBOSS_HOME/ RUN rm /tmp/wildfly-10.1.0.Final.tar.gz […]

如何保持与docker群粘性会话(会话持久性)?

我有一个基于Java的web应用程序部署在jboss-10.1.0(wildfly) 。 我使用docker群模式(docker版本1.12.1 )来扩展我的应用程序一切正常,但我唯一面临的问题是会话pipe理。 现在让我们来看看情况。 我有两个实例正在运行我的应用程序(即App1和App2 )。我使用默认的负载平衡器提供的docker swarm模式与nginxredirect我的应用程序从chintan.test.com:9080 chintan.test.com:80所以我不需要用我的url写下端口,我可以直接访问这个urlchintan.test.com 。 现在默认的负载平衡器使用RR( Round-Robin algorithm )来为我的web请求服务。所以我第一次访问chintan.test.com它去App1实例和显示login页面我凭证login,一切都完美后分钟它切换到App2 ,再次login页面来。 有什么办法或工具(应该是开源的)通过我处理会议? 所以至less我login到App1并坚持到App1直到我注销。 谢谢!

在Jboss wildfly和docker中使用cli时,权限错误

我已经扩展了docker镜像,在构builddockerfile时,我调用Wildfly CLI来添加一个数据源。 然后,当我尝试运行dockerfile时,出现以下错误: ========================================================================= appui-dev-local | appui-dev-local | JBoss Bootstrap Environment appui-dev-local | appui-dev-local | JBOSS_HOME: /opt/jboss/wildfly appui-dev-local | appui-dev-local | JAVA: /usr/lib/jvm/java/bin/java appui-dev-local | appui-dev-local | JAVA_OPTS: -server -XX:+UseCompressedOops -server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true appui-dev-local | appui-dev-local | ========================================================================= appui-dev-local | appui-dev-local | OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; […]