当前位置: 首页 > 知识库问答 >
问题:

Azure容器生成错误“503”,原因是“站点不可用”

尹超
2023-03-14

我已经在运行Windows10的本地机器上构建了一个docker映像

>

  • 运行docker-composebuilddocker-composeup-ddocker-compse日志-f确实会生成预期的结果(没有错误)

    通过运行winpty docker container run-i-t-p8000:8000--rm altf1be,应用程序可以正常运行。阴谋地。docker compose:2019-12-17

    我将docker映像上载到私有Azure容器注册表中

    我基于docker imageAzure门户部署web应用程序

    我的方法有什么问题?

    提前感谢您在这个问题上投入的时间

    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"]
    
    gunicorn --config=app/conf/gunicorn.conf.docker.staging.py app.webapp:server
    
    # -*- coding: utf-8 -*-
    workers = 1
    # print("workers: {}".format(workers))
    bind = '0.0.0.0'
    timeout = 600
    log_level = "debug"
    reload = True
    print(
        f"workers={workers} bind={bind} timeout={timeout} --log-level={log_level} --reload={reload}"
    )
    

    >

  • 错误-站点altf1be-plotly-docker的容器altf1be-plotly-docker_0_ee297002已退出,站点启动失败

    错误-容器altf1be-plotly-docker_0_ee297002未响应端口8000上的HTTP ping,站点启动失败。有关调试,请参阅容器日志。


  • 共有1个答案

    黎奇思
    2023-03-14

    我能看到的是,您使用了错误的环境变量,它应该是WEBSITES\u PORT,您错过了网站后面的s。您可以添加它,然后再次尝试部署映像。

    我认为Azure Web App不会帮助你设置环境变量,就像你在docker-comment文件中使用选项env_file所做的那样。因此,我建议您通过命令docker build创建映像,并通过-e设置环境变量在本地测试它。当图像运行良好时,您可以将其推送到ACr,并通过Web App中的环境变量从ACR部署它。

    或者,当图像在ACR中时,您仍然可以使用docker-comment文件在Web App中部署您的图像,而不是使用env_filebuild环境图像

     类似资料:
    • 问题内容: 我一直在使用亚马逊的产品广告API来生成包含给定书籍价格的网址。我生成的一个网址如下: http://www.amazon.com/gp/offer- listing/0415376327%3FSubscriptionId%3DAKIAJZY2VTI5JQ66K7QQ%26tag%3Damaztest04-20%26linkCode%3Dxm2%26camp%3D2025%26crea

    • 问题内容: 我是Jetty的新手,我尝试在此处运行示例程序“ http://www.codeproject.com/Articles/128145/Run- Jetty-Web-Server-Within-Your- Application ”,但我收到了错误消息我的页面“ http:// localhost:8585 / runJetty / ” 我从Eclipse获取的错误日志: 我的xml文

    • 我正在从事一个使用8.5.9版Tomcat的Spring Boot开发的项目。 该应用程序在JAX RS中提供RESTfull web服务。在Prod环境中,有时我会得到一个错误503服务不可用,但我无法复制它,因为我使用本地模拟。 有没有办法在本地重现错误?比如把雄猫暂时搁置?

    • > 计数操作失败,出现以下错误消息: OriginalException:ElasticSearch.Net.ElasticSearchClientException:远程服务器返回错误:(503)服务器不可用。调用:状态代码503来自:GET/myindex/_count。ServerError:Type:search_phase_execution_exception原因:“All shard

    • 无法从Github生成android项目,错误为“Gradle sync failed:Cause:error=0,spawn failed”有关详细信息,请参阅IDE日志(帮助|显示日志)(434ms) 任何想法 ?

    • 问题内容: 什么样的问题可能会导致Java的ProcessBuilder.start方法返回IOException并带有错误码= 5的注释? 具体来说,我们已经看到了一个远程客户系统,它按照以下方式运行一些Java代码: …抛出这样的异常… 我们已经确认异常中提到的命令“ C:\ example \ example.exe arguments1 arguments2”可以通过cmd.exe手动成功