Веб-приложение, созданное Docker в Azure, недоступно - PullRequest
0 голосов
/ 30 марта 2019

Мое приложение успешно создано локально, запустите доступное на http://localhost:5000, но не при развертывании в Azure:

version: '3'
services:
  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

  web:
    build: .
    image: myappregistry.azurecr.io/myapp:latest
    ports:
      - "5000:5000"

Компоновка в Azure тоже работает:


2019-03-30 13:25:51.864 INFO  - Starting multi-container app, configuration = 
version: '3'
services:
  redis:
    image: "redis:alpine"
    ports:
      - "6379:6379"

  web:
    build: .
    image: myappregistry.azurecr.io/myapp:latest
    ports:
      - "5000:5000"

2019-03-30 13:25:54.668 INFO  - Issuing docker pull redis:alpine
2019-03-30 13:25:57.223 INFO  - docker pull returned STDOUT>> alpine: Pulling from library/redis
Digest: sha256:a228f66132cd46a53fd818443c42458af5d6a3e1231df25184304b8e732e51c4
Status: Image is up to date for redis:alpine

2019-03-30 13:25:57.245 INFO  - Starting container for site
2019-03-30 13:25:57.247 INFO  - docker run -d -p 19446:6379 --name myapp003_redis_0 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=5000 -e WEBSITE_SITE_NAME=myapp003 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=c04d15b1b0966eeeb73c65719c2b7ecac5f6223333efd04b1712f559b5660459 redis:alpine  

2019-03-30 13:25:57.249 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-03-30 13:25:58.084 INFO  - Starting container for site
2019-03-30 13:25:58.086 INFO  - docker run -d -p 0:5000 --name myapp003_web_0 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=5000 -e WEBSITE_SITE_NAME=myapp003 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=c04d15b1b0966eeeb73c65719c2b7ecac5f6223333efd04b1712f559b5660459 myappregistry.azurecr.io/myapp:latest  

2019-03-30 13:25:58.088 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.

Однако, доступ к нему в https://myapp.azurewebsites.net/ завершается неудачно с "502 - веб-сервер получил недопустимый ответ, выступая в качестве шлюза или прокси-сервера."

Обратите внимание, в веб-приложении Azure "Настройки приложения" я установил значение

WEBSITES_PORT 5000

согласно https://code.visualstudio.com/docs/python/tutorial-deploy-containers

Есть идеи, что могло пойти не так?

1 Ответ

0 голосов
/ 30 марта 2019

Я не эксперт по Azure, но, глядя на журнал, вы опубликовали много изменений по сравнению с docker-compose, который вы тестировали локально: - redis теперь сопоставлен с 19446 вместо 6379 - контейнеры не работают на одном и том жесеть больше (при запуске с docker-compose они находятся в одной сети, но разные команды запуска docker не действуют одинаково)

Таким образом, ошибка, которую вы получаете, может быть связана с неправильной связью между контейнерами.Попробуйте загрузить только ваше веб-приложение и получить доступ к статической странице.Если это работает, вам следует пересмотреть способ подключения к контейнеру redis из своего приложения.

...