Как развернуть Express Gateway в Azure - PullRequest
0 голосов
/ 31 октября 2019

Я могу запускать контейнер Docker Express Gateway и контейнер Redis Docker локально и хотел бы развернуть его в Azure. Как мне это сделать?

Это мой файл docker-compose.yml:

version: '2'

services:
    eg_redis:
        image: redis
        hostname: redis
        container_name: redisdocker
        ports:
            - "6379:6379"
        networks:
            gateway:
                aliases:
                    - redis
    express_gateway:
        build: .
        container_name: egdocker
        ports:
            - "9090:9090"
            - "8443:8443"
            - "9876:9876"
        volumes:
            - ./system.config.yml:/usr/src/app/config/system.config.yml
            - ./gateway.config.yml:/usr/src/app/config/gateway.config.yml
        networks:
            - gateway

networks:
    gateway:

А это мой файл system.config.yml:

# Core
db:
  redis:
    host: 'redis'
    port: 6379
    namespace: EG

# plugins:
  # express-gateway-plugin-example:
  #   param1: 'param from system.config' 

crypto:
  cipherKey: sensitiveKey
  algorithm: aes256
  saltRounds: 10

# OAuth2 Settings
session:
  secret: keyboard cat
  resave: false
  saveUninitialized: false
accessTokens:
  timeToExpiry: 7200000
refreshTokens:
  timeToExpiry: 7200000
authorizationCodes:
  timeToExpiry: 300000

И это мой файл gateway.config.yml:

http:
  port: 9090
admin:
  port: 9876
  hostname: 0.0.0.0
apiEndpoints:
  # see: http://www.express-gateway.io/docs/configuration/gateway.config.yml/apiEndpoints
  api:
    host: '*'
    paths: '/ip'  
    methods: ["POST"]
serviceEndpoints:
  # see: http://www.express-gateway.io/docs/configuration/gateway.config.yml/serviceEndpoints
  httpbin:
    url: 'https://httpbin.org/'
policies:
  - basic-auth
  - cors
  - expression
  - key-auth
  - log
  - oauth2
  - proxy
  - rate-limit
  - request-transformer
pipelines:
  # see: https://www.express-gateway.io/docs/configuration/gateway.config.yml/pipelines
  basic:
    apiEndpoints:
      - api
    policies:
      - request-transformer:
        - action:
            body:
              add:
                payload: "'Test'"
            headers:
              remove: ["'Authorization'"]
              add:
              Authorization: "'new key here'"
      - key-auth:
      - proxy:
          - action:
              serviceEndpoint: httpbin
              changeOrigin: true

Монтирование файлов YAML и последующее попадание в конечную точку / ip - вот где я застрял.

1 Ответ

1 голос
/ 31 октября 2019

В соответствии с файлом конфигурации, который вы опубликовали, я бы сказал, что вам нужно дать команду Express Gateway прослушивать 0.0.0.0, если он запускается из контейнера, иначе он не сможет попасть в список внешних подключений.

...