【问题标题】:Docker Container fails to start in an Azure App ServiceDocker 容器无法在 Azure 应用服务中启动
【发布时间】:2018-10-17 08:17:10
【问题描述】:

我过去在 Azure 应用服务上发布了一堆 Docker 应用程序,但由于某种原因,在 Azure DevOps 中创建新的构建和发布管道后,我的 Docker 容器将无法在 Azure 应用服务中运行。这些特定的容器属于 Linux 风格。

在各种 Docker 映像之间切换,任何使用旧管道构建的都可以工作,但使用新管道构建的则不行。

当我将应用服务日志文件中的确切命令复制粘贴到我的本地命令行时,它工作得很好。我能够以与应用服务相同的端口访问该站点。

这是我的 Dockerfile:

FROM node:8.12.0-alpine

ARG BUILD_VERSION
ENV BUILD_VERSION ${BUILD_VERSION}

ENV LOCAL_DEVELOPMENT false
ENV NODE_ENV production

ARG STAGING_DIRECTORY

WORKDIR ~/
COPY ${STAGING_DIRECTORY} .

ENTRYPOINT node . server ${BUILD_VERSION}

【问题讨论】:

    标签: docker azure-devops azure-pipelines


    【解决方案1】:

    虽然我不能确定是什么导致了您的问题,但可能是因为在您的容器中运行 ENTRYPOINT 命令时出错。

    您是否可以使用docker-compose.yml 文件?您的COPY 命令不能有../ 或当前目录之外的任何内容。为此,您需要通过docker build 命令或docker-compose.yml 文件更改上下文。


    我遇到了类似的问题,我正在更改 WORKDIR 然后执行 COPY . . 而不是将 WORKDIR 留在 ~/ 并执行 COPY ${STAGING_DIRECTORY} .

    在 Azure 中,转到“容器设置”。在下方,您会看到一个日志。您可以使用此日志来确定您遇到的问题。

    它看起来像这样:

    2018_10_16_RD00155DFE4342_default_docker.log:
    2018-10-16T16:14:33.084558195Z     throw err;
    2018-10-16T16:14:33.084568395Z     ^
    2018-10-16T16:14:33.084576596Z 
    2018-10-16T16:14:33.084584396Z Error: Cannot find module '/home/vsts/work/1/a/publish'
    2018-10-16T16:14:33.084592096Z     at Function.Module._resolveFilename (module.js:548:15)
    2018-10-16T16:14:33.084599797Z     at Function.Module._load (module.js:475:25)
    2018-10-16T16:14:33.084607297Z     at Function.Module.runMain (module.js:694:10)
    2018-10-16T16:14:33.084614697Z     at startup (bootstrap_node.js:204:16)
    2018-10-16T16:14:33.084622297Z     at bootstrap_node.js:625:3
    
    2018_10_16_RD00155DFE4342_docker.log:
    
    2018-10-16 16:14:01.928 ERROR - Container [CONTAINER_NAME] for site [APP_SERVICE_NAME] has exited, failing site start
    2018-10-16 16:14:27.665 INFO  - Starting container for site
    2018-10-16 16:14:27.666 INFO  - docker run -d -p 26257:80 --name [CONTAINER_NAME] -e DOCKER_CUSTOM_IMAGE_NAME=[...]
    
    2018-10-16 16:14:29.735 ERROR - Container [CONTAINER_NAME] for site [APP_SERVICE_NAME] has exited, failing site start
    2018-10-16 16:14:31.998 INFO  - Starting container for site
    2018-10-16 16:14:31.999 INFO  - docker run -d -p 3225:80 --name [CONTAINER_NAME] -e DOCKER_CUSTOM_IMAGE_NAME=[...]
    
    2018-10-16 16:14:34.009 ERROR - Container [CONTAINER_NAME] for site [APP_SERVICE_NAME] has exited, failing site start
    

    *_default_docker.log 文件包含您的 Docker 文件喷出的错误,而 *_docker.log 包含来自 Azure 的一般错误消息。

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2013-08-05
      相关资源
      最近更新 更多