小编bit*_*ter的帖子

docker swarm模式多个服务相同的端口

假设拓扑上有两个服务

  1. API
  2. Web界面

两者都假设在端口80上运行.

在创建服务时,如果要在群集外部访问它,则需要在docker swarm上公开并将端口从服务映射到节点(外部端口).但是,如果您将端口80映射为让我们说API服务,那么您无法映射Web Interface服务的相同端口,因为它已经映射.

怎么解决这个问题?

据我所知,这个用例不受支持.即使你想拥有一个大群集群,并且因为这种行为也无法实现所有服务和应用程序.

我错过了什么?

任何模式来解决这个问题?

docker docker-swarm devops

17
推荐指数
3
解决办法
8705
查看次数

Docker如何获取容器使用的卷

我正在使用Docker 1.10版.如何获取容器使用的卷?

我知道我可以通过以下方式获得容器:

docker ps
Run Code Online (Sandbox Code Playgroud)

我可以用以下方式检查它们:

docker inspect $containerID
Run Code Online (Sandbox Code Playgroud)

我也知道卷API可用,所以我也可以这样做:

docker volume ls
Run Code Online (Sandbox Code Playgroud)

docker volume inspect $volumeID
Run Code Online (Sandbox Code Playgroud)

但我找不到它们之间的任何链接信息.我该怎么用?

docker

12
推荐指数
1
解决办法
9308
查看次数

如何在aws上创建Kubernetes负载均衡器

Kubernetes为每项服务创建一个负载均衡器; 自动在GCE中.如何在AWS上管理类似的东西?

Kubernetes服务基本上使用kubeproxy来处理内部流量.但是那个kubeproxy ip它无法访问外部网络.

有一种方法可以实现这一目标吗?

kubernetes aws-ec2

11
推荐指数
2
解决办法
7334
查看次数

如何在 elastic 5.x 上的 script_fields 处访问嵌套属性

我需要为我的查询迭代无痛脚本字段上的嵌套对象,但符号 doc['nestedProperty.property'] 没有给我值,也没有使用数组符号 doc['nestedProperty.property'][0]

关于如何使用它的任何想法?

编辑

一个文档示例:

{
    "neestedProperty": [
      {
        "property": 12,
        "innerNeestedProperty": {
          "innerProperty1": 45,
          "innerProperty2": -45
        }
      }
    ]
}
Run Code Online (Sandbox Code Playgroud)

示例查询:

{
  "query": {
    match_all: {}
  },
  "script_fields": {
    "scripted": {
      "script": {
        "inline": "doc['neestedProperty.property'] * params.multiplier",
        "params": {
          "multiplier": 100
        },
        "lang": "painless"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

elasticsearch

9
推荐指数
2
解决办法
6169
查看次数

kubernetes卷hostPath

我想使用kubernetes作为我的默认开发环境,我使用docker在本地设置集群,如官方文档中所述.我将我的示例推送到github存储库

运行kubernetes集群后,我的设置步骤如下:

* cd cluster_config/app && docker build --tag=k8s_php_dev . && cd ../..
* kubectl -s http://127.0.0.1:8080 create -f cluster_config/app/app.rc.yml
* kubectl -s http://127.0.0.1:8080 create -f cluster_config/app/app.services.yml
Run Code Online (Sandbox Code Playgroud)

我的问题出现了,因为我想将本地目录映射为我的应用程序窗格内的卷,这样我就可以动态共享我本地主机和pod之间的文件,这样我就可以开发,更改文件; 并动态更新服务.

我使用了一个带有hostPath的卷.pod,复制控制器和服务已成功创建,但pod不共享目录,甚至没有mountPath上的文件.

我做错了什么?

谢谢

containers volume docker kubernetes

7
推荐指数
1
解决办法
9052
查看次数

如何在Node.js上仅消耗Rabbit MQ的一条消息

我正在使用amqp.node库将rabbitmq集成到我的系统中。

但是在使用者中,我一次只想处理一条消息,然后确认该消息,然后使用队列中的下一条消息。

当前代码是:

// Consumer
open.then(function(conn) {
  var ok = conn.createChannel();
  ok = ok.then(function(ch) {
    ch.assertQueue(q);
    ch.consume(q, function(msg) {
      if (msg !== null) {
        othermodule.processMessage(msg, function(error, response){
          console.log(msg.content.toString());
          ch.ack(msg);
        });
      }
    });
  });
  return ok;
}).then(null, console.warn);
Run Code Online (Sandbox Code Playgroud)

ch.consume将一次处理通道中的所有消息,并且在此处调用模块的功能othermodule不会在同一时间线执行。

我要等待othermodule函数完成,然后再使用队列中的下一条消息。

rabbitmq node.js

5
推荐指数
2
解决办法
3325
查看次数

通过api发布到谷歌加

试图找到如何发布从PHP谷歌,加上墙上,但有403甚至使用API探险家得到了

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}
Run Code Online (Sandbox Code Playgroud)

我的PHP代码如下:

    $client = new \Google_Client();
    $client->setApplicationName("Speerit");
    $client->setClientId($appId);
    $client->setClientSecret($appSecret);
    $client->setAccessType("offline");        // offline access
    $client->setIncludeGrantedScopes(true);   // incremental auth
    $client->setAccessToken(
        json_encode(
            array(
                'access_token' => $accessToken,
                'expires_in' => 3600,
                'token_type' => 'Bearer',
            )
        )
    );
    $client->setScopes(
        array(
            "https://www.googleapis.com/auth/userinfo.email",
            "https://www.googleapis.com/auth/plus.me",
            "https://www.googleapis.com/auth/plus.stream.write",
        )
    );
    $client = $client->authorize();

    // create the URL for this user ID
    $url = sprintf('https://www.googleapis.com/plusDomains/v1/people/me/activities');

    // create your HTTP request …
Run Code Online (Sandbox Code Playgroud)

php google-api google-api-php-client google-apis-explorer

5
推荐指数
1
解决办法
3026
查看次数

Kubernetes簇大小

几个kubernetes新手问题.

如果我在kubernetes将其设置的大小设置为使用想要在群集中的小兵数量定义的大小时,我就说我创建了一个包含两个小兵的群集.如果我决定使用php和nginx部署4个pod.

有一种方法可以选择我想拥有的每个pod的资源量吗?

在旧部署中,我们直接部署到servers/vm,我们知道每个服务器/ vm的资源量.假设我没有功能要求2gb ram 4 cps 160gb hdd.

我怎么能用kubernetes做到这一点.

现在假设我已经部署了4个pod,我想扩展,新的pod需要满足相同的功能要求.

我是否需要调整我的群集大小,或者在某种程度上kubernetes为我做什么?

谢谢.

kubernetes

4
推荐指数
1
解决办法
3637
查看次数

弹性搜索进程的最大文件描述符 [4096] 太低,增加到至少 [65536]

使用 Ubuntu 16.10 Docker 1.12.3 Docker Composer 1.8 Elastic 官方弹性 docker 镜像的最新标签

docker-compose.yml

version: '2'
services:
    elastic:
        image: elasticsearch
        environment:
            - ES_JAVA_OPTS=-Xmx2g -Xms2g
Run Code Online (Sandbox Code Playgroud)

获取日志

弹性_1 | 错误:引导程序检查失败 elastic_1 | elasticsearch 进程的最大文件描述符 [4096] 太低,增加到至少 [65536] elastic_1 | [2016-11-18T17:48:17,058][INFO][oenNode] [HK_OIan] 停止...

任何想法,谢谢

elasticsearch docker

4
推荐指数
1
解决办法
2万
查看次数

从另一个管道调用参数化的Jenkins管道

有任何方法可以从具有参数的另一个管道触发管道作业,我已经尝试过

build job: '/myjob', parameters: [string(name: 'param1', value:'val1')], wait: false
Run Code Online (Sandbox Code Playgroud)

也尝试过

build job: 'myjob', parameters: [string(name: 'param1', value:'val1')], wait: false
Run Code Online (Sandbox Code Playgroud)

build job: 'myjob', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'val1']], wait: false
Run Code Online (Sandbox Code Playgroud)

没有运气,它说:

项目类型不支持参数

jenkins jenkins-pipeline

4
推荐指数
1
解决办法
6254
查看次数