Azure容器生成错误';503';原因';站点不可用'; 问题
我已在运行windows 10的本地计算机上建立了docker映像Azure容器生成错误';503';原因';站点不可用'; 问题,azure,docker,docker-compose,dockerfile,azure-container-registry,Azure,Docker,Docker Compose,Dockerfile,Azure Container Registry,我已在运行windows 10的本地计算机上建立了docker映像 运行docker compose build、docker compose up-d和docker compse log-f确实会生成预期结果(无错误) 通过运行winpty docker container run-i-t-p 8000:8000--rm altf1be.plotly.docker compose:2019-12-17,应用程序可以正确运行 我将docker映像上载到私有Azure容器注册表中 我根据do
docker compose build
、docker compose up-d
和docker compse log-f
确实会生成预期结果(无错误)
Azure Portal>Container registry>Repositories>altf1be.plotly.docker-compose>v2019-12-17>上下文菜单>部署到web应用部署web应用
gunicorn--config=app/conf/gunicorn.conf.docker.staging.py app.webapp:server
app/conf/gunicorn.conf.docker.staging.py
#-*-编码:utf-8-*-
工人=1
#打印(“工作者:{}”。格式(工作者))
绑定='0.0.0.0'
超时=600
log_level=“调试”
重新加载=真
印刷品(
f“workers={workers}bind={bind}timeout={timeout}--log level={log_level}--reload={reload}”
)
容器设置
应用程序设置
正在运行web应用-“服务不可用”
Kudu-“服务不可用”
Kudu-端口8000上的http ping(应用程序未运行)
- 错误-站点altf1be plotly docker的容器altf1be-plotly-docker_0_ee297002已退出,站点启动失败
- 错误-容器altf1be-plotly-docker_0_ee297002未响应端口8000上的HTTP ping,站点启动失败。有关调试,请参阅容器日志
我能看到的是,您使用了错误的环境变量,它应该是
WEBSITES\u PORT
,您错过了网站后面的s
。您可以添加它,然后再次尝试部署映像
我认为Azure Web App不会像您在docker compose文件中使用选项env_file
那样帮助您设置环境变量。因此,我建议您通过命令docker build
创建映像,并通过-e
设置环境变量对其进行本地测试。当映像运行良好时,您可以将其推送到ACr,并使用Web应用程序中的环境变量从ACr进行部署
或者您仍然可以使用docker compose文件在Web应用程序中部署您的图像,而不是使用
环境和图像构建,当图像位于ACR中时。我可以看到您使用了错误的环境变量,它应该是网站端口
,您错过了网站后面的s
。您可以添加它,然后再次尝试部署映像
我认为Azure Web App不会像您在docker compose文件中使用选项env_file
那样帮助您设置环境变量。因此,我建议您通过命令docker build
创建映像,并通过-e
设置环境变量对其进行本地测试。当映像运行良好时,您可以将其推送到ACr,并使用Web应用程序中的环境变量从ACr进行部署
或者您仍然可以使用docker compose文件在Web App中部署您的图像,当图像位于ACR中时,使用环境
和图像
代替环境文件
和构建
。出现了几个问题:网站端口拼写错误,启动文件是启动GUNICOR的命令行。出现了几个问题:网站端口拼写错误,启动文件错误是启动gunicorn的命令行
version: '3.7'
services:
twikey-plot_ly_service:
# container_name: altf1be.plotly.docker-container-name
build: .
image: altf1be.plotly.docker-compose:2019-12-17
command: gunicorn --config=app/conf/gunicorn.conf.docker.staging.py app.webapp:server
ports:
- 8000:8000
env_file: .env.staging
apiUrl=https://api.beta.alt-f1.be
authorizationUrl=/api/auth/authorization/code
serverUrl=https://dunningcashflow-api.alt-f1.be
transactionFeedUrl=/creditor/tx
api_token=ANICETOKEN
# read the Dockerfile reference documentation
# https://docs.docker.com/engine/reference/builder
# build the docker
# docker build -t altf1be.plotly.docker-compose:2019-12-17.
# https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image#use-a-docker-image-from-any-private-registry-optional
# Use the docker images used by Microsoft on Azure
FROM mcr.microsoft.com/oryx/python:3.7-20190712.5
LABEL Name=altf1.be/plotly Version=1.19.0
LABEL maintainer="abo+plotly_docker_staging@alt-f1.be"
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
# copy the code from the local drive to the docker
ADD . /code/
# non interactive front-end
ARG DEBIAN_FRONTEND=noninteractive
# update the software repository
ENV SSH_PASSWD 'root:!astrongpassword!'
RUN apt-get update && apt-get install -y \
apt-utils \
# enable SSH
&& apt-get install -y --no-install-recommends openssh-server \
&& echo "$SSH_PASSWD" | chpasswd
RUN chmod u+x /code/init_container.sh
# update the python packages and libraries
RUN pip3 install --upgrade pip
RUN pip3 install --upgrade setuptools
RUN pip3 install --upgrade wheel
RUN pip3 install -r requirements.txt
# copy sshd_config file. See https://man.openbsd.org/sshd_config
COPY sshd_config /etc/ssh/
EXPOSE 8000 2222
ENV PORT 8000
ENV SSH_PORT 2222
# install dependencies
ENV ACCEPT_EULA=Y
ENV APPENGINE_INSTANCE_CLASS=F2
ENV apiUrl=https://api.beta.alt-f1.be
ENV serverUrl=https://dunningcashflow-api.alt-f1.be
ENV DOCKER_REGISTRY altf1be.azurecr.io
ENTRYPOINT ["/code/init_container.sh"]