Я создал образ докера и добавил его в реестр контейнеров Azure. Затем я развернул его в веб-приложении, но у меня возникли проблемы с доступом к сайту. Когда я просматриваю его, он загружается в течение долгого времени (минут), а затем получаю сообщение об ошибке 503: служба недоступна.
Я подумал, что это может быть проблема с портом, поскольку в моем файле докеров есть:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 15973
EXPOSE 44369
И добавили в настройки приложения следующую пару ключ / значение: WEBSITES_PORT
: 15973
, но по-прежнему ничего не возвращает.
Я думал, что вернусь к основам и воспользуюсь быстрым стартом из веб-приложения для контейнеров (appsvc/sample-hello-world:latest
), но он делает то же самое, не может запустить приложение.
В чем может быть проблема? Должно ли быть так просто, как указать на изображение, чтобы запустить и запустить веб-сайт? Есть ли еще один общедоступный шаблон, который я могу использовать в качестве базового изображения, чтобы увидеть, как работает контейнер?
Обновлять
Итак, я попытался запустить изображение локально, предложенное @Charles. Когда он запускается, он определенно работает так, как будто я не передаю переменные среды (например, строку подключения), тогда я получаю соответствующее сообщение об ошибке.
Проблема, возникающая локально, заключается в том, что после ее запуска я не знаю, как она раскрывается. Я пробовал http://localhost:15973, http://localhost:44369, http://localhost/ и попытался передать -p 8080:80
, а затем http://localhost:8080, но они не отвечают.
Ответ запуска изображения:
Среда хостинга: Производство
Корневой путь содержимого: / app
Теперь слушаем: http://[::]:80
Я думаю, что проблема заключается в том, что он также размещен в Azure, запросы не маршрутизируются через образ.
Что мне нужно сделать, чтобы вызвать api в образе?