Маршрутизация входящего трафика в настройке Docker Swarm - PullRequest
0 голосов
/ 26 января 2019

У меня будет установка, аналогичная этой (только для одного узла):

          internet
             |
      [ nginx proxy]
             |
          [ node ]
  --|-----|--  --|-----|--
   [ Service A]-[ Service B]

Я хочу добиться некоторой маршрутизации, например, такой:

Существует ли решение из docker (внутренний кластер), которое может маршрутизировать трафик в зависимости от используемого /path/?

kubernetes раньше, где у меня была возможность определить path в ingress.Есть ли что-то похожее в docker?

1 Ответ

0 голосов
/ 26 января 2019

Я не использовал ингресс, но я считаю, что он просто оборачивает NGINX.Насколько я знаю, Docker не имеет аналогов, но вы, конечно, можете создать свой собственный сервис NGINX, который будет выполнять эту задачу для вас.Быстрый пример может выглядеть следующим образом:

server {
    listen      80;
    server_name example.org www.example.org;
    root        /data/www;

    location / {
        index   index.html index.php;
    }

    location ~* \.(gif|jpg|png)$ {
        expires 30d;
    }

    location ~ \.php$ {
        fastcgi_pass  php_container_name:9000; //NOTE THE CONTAINER *NAME* NOT IP
        fastcgi_param SCRIPT_FILENAME
                      $document_root$fastcgi_script_name;
        include       fastcgi_params;
    }
}

(взято из http://nginx.org/en/docs/http/request_processing.html)

. Затем вы запустите контейнер, созданный с помощью nginx и вашей конфигурации. Обратите внимание, что вы будете обращаться к другим вашим службам.по имени.

Редактировать: этот пост - Kubernetes: Ingress vs Load Balancer может объяснить больше и, возможно, помочь вам перевести ваше текущее решение kubernetes.

...