Запуск док-контейнера в веб-приложении Azure: не отвечает на HTTP-запросы на порт - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь запустить докер-контейнер в веб-приложении Azure в операционной системе Linux. Сервер веб-приложений успешно извлекает образ, но не может выполнить команду запуска с сообщением об ошибке: не отвечает на запросы HTTP на порт: 9000

2019-10-22 00:15:12.671 INFO  - Pulling image: finalproductionimg.azurecr.io/finalproductionimg:latest
2019-10-22 00:15:12.877 INFO  - latest Pulling from finalproductionimg
2019-10-22 00:15:12.878 INFO  -  Digest: sha256:5681b69c53e29b42d9c05c8ccf2e849ae19732ee671c5aae388a906c7bb23208
2019-10-22 00:15:12.878 INFO  -  Status: Image is up to date for finalproductionimg.azurecr.io/finalproductionimg:latest
2019-10-22 00:15:12.883 INFO  - Pull Image successful, Time taken: 0 Minutes and 0 Seconds
2019-10-22 00:15:12.891 INFO  - Starting container for site
2019-10-22 00:15:12.891 INFO  - docker run -d -p 26730:9000 --name brisk-dokerprod_0_3f1f06b3 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=Brisk-dokerprod -e WEBSITE_AUTH_ENABLED=False -e PORT=9000 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=brisk-dokerprod.azurewebsites.net -e WEBSITE_INSTANCE_ID=af378d6c8fb1477b346afda52f53f46802b9685f672a1a6b1e1dfb51b076f0a4 -e HTTP_LOGGING_ENABLED=1 finalproductionimg.azurecr.io/finalproductionimg:latest version: '3' services: web-prod: build: context: . dockerfile: Dockerfile-prod ports: - "80" - "9000" - "8080:9000" 

2019-10-22 00:15:13.492 INFO  - Initiating warmup request to container brisk-dokerprod_0_3f1f06b3 for site brisk-dokerprod
2019-10-22 00:15:13.640 ERROR - Container brisk-dokerprod_0_3f1f06b3 for site brisk-dokerprod has exited, failing site start
2019-10-22 00:15:13.642 ERROR - Container brisk-dokerprod_0_3f1f06b3 didn't respond to HTTP pings on port: 9000, failing site start. See container logs for debugging.

В моем файле yml есть

ports:
      - "80"
      - "9000"
      - "8080:9000"

Чего мне не хватает?

Ответы [ 2 ]

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

Это ограничение веб-приложения Azure, оно поддерживает только доступ к портам 80 и 443. Поэтому, когда вы хотите предоставить доступ к другим портам, таким как 9000 и 8080, вы получаете сообщение об ошибке, на которое оно не отвечаетHTTP пингует этот порт.

0 голосов
/ 22 октября 2019

Спасибо за ответы, в основном это то, что сказал Чарльз Сюй. Чтобы решить эту проблему, я просто открыл порты 80 и 9000 в Dockerfile и, наконец, в настройках приложения приложения Azure добавила две новые переменные, PORT = 9000 и WEBSITES_PORT = 80.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...