docker 无法在Azure容器示例上打开已部署的Django Web应用程序

ddrv8njm  于 2023-05-28  发布在  Docker
关注(0)|答案(1)|浏览(129)

运行下面的命令,都成功了,但无法打开浏览器上的Web应用程序,如何修复?

virtualenv .venv
.venv\Scripts\activate
pip install Django
django-admin startproject demoproject
python manage.py runserver
--notes: checked the web app was running at http://127.0.0.1:8000/
pip freeze > requirements.txt
--notes: add file "Dockerfile"
--notes: add file ".dockerignore"
docker build -t demoproject:v1.0 .
az login
az acr login --name xxtestcr
docker tag demoproject:v1.0 xxtestcr.azurecr.io/demoproject:v1.0
docker push xxtestcr.azurecr.io/demoproject:v1.0
az acr update -n xxtestcr --admin-enabled true
az container create -g xxtestrg --name test-ci --image xxtestcr.azurecr.io/demoproject:v1.0 --ports 80 443 --cpu 1 --memory 1.5 --dns-name-label xxtest-demoproject
  • Dockerfile*:
FROM python:3.10.8

RUN mkdir /code

WORKDIR /code

COPY . /code/

RUN pip install -r requirements.txt

CMD python manage.py runserver 0.0.0.0:8000
  • .dockerignore*
__pycache__
.venv/
Dockerfile

应用程序文件:

Azure容器示例概述:

但无法在浏览器上打开Web应用程序:4.147.67.11xxtest-demoproject.australiaeast.azurecontainer.io

voj3qocg

voj3qocg1#

您的应用程序侦听端口8000,但ACI侦听端口80和443。
您可以使用ACI侦听多个端口,但不能重定向到单个端口。例如,如果您想将80和443转发到8000,则需要使用App Gateway。
请尝试:

az container create -g xxtestrg --name test-ci --image xxtestcr.azurecr.io/demoproject:v1.0 --ports 8000 --cpu 1 --memory 1.5 --dns-name-label xxtest-demoproject

然后尝试http://<ip/url>:8000

相关问题