Docker容器无法在Azure App Service中启动

时间:2018-10-17 08:17:10

标签: docker azure-devops azure-pipelines

过去,我在Azure App Services上发布了一堆Docker应用程序,但是由于某种原因,在Azure DevOps中创建新的生成和发布管道之后,我的Docker容器将无法在Azure App Service中运行。这些特定的容器具有Linux风格。

在各种Docker映像之间进行切换,无论是使用旧管道构建的镜像,还是使用新管道构建的镜像,都不可以。

当我将确切的命令从App Service的日志文件复制粘贴到我的本地命令行中时,它工作正常。我可以使用与App Service相同的端口访问该网站。

这是我的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}

1 个答案:

答案 0 :(得分:0)

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

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


我遇到一个类似的问题,即我先更改WORKDIR然后执行COPY . .,而不是将WORKDIR留在~/并执行COPY ${STAGING_DIRECTORY} .。 / p>

在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的常规错误消息。