Docker容器无法在Azure应用服务中启动

snz8szmq  于 2023-08-03  发布在  Docker
关注(0)|答案(2)|浏览(148)

我过去在Azure应用服务上发布了一系列Docker应用,但由于某种原因,在Azure DevOps中创建新的构建和发布管道后,我的Docker容器无法在Azure应用服务中运行。这些特定的容器是Linux风格的。
在各种Docker镜像之间切换,任何使用旧管道构建的镜像都可以工作,但使用新管道构建的镜像则不行。
当我将AppService日志文件中的命令复制粘贴到本地命令行时,它工作得很好。我能够访问该网站作为相同的端口作为应用程序服务。
下面是我的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}

字符串

jdgnovmf

jdgnovmf1#

我在将NextJS应用程序部署到Azure Web服务时遇到了此问题。
当应用程序启动时,我会收到以下日志:

2023-07-20T23:56:13.079Z ERROR - Container myapp-web_0_4d3b01f2 for site myapp-web has exited, failing site start
2023-07-20T23:56:13.089Z ERROR - Container myapp-web_0_4d3b01f2 didn't respond to HTTP pings on port: 3000, failing site start. See container logs for debugging.
2023-07-20T23:56:13.092Z INFO  - Stopping site myapp-web because it failed during startup.

字符串
我是这样解决的:
我所要做的就是在WEBSITES_PORT配置下添加一个新的应用程序设置,等于我的应用程序正在侦听的端口,即端口3000,所以我有:

WEBSITES_PORT
3000


然后我从我的CICD工具重新部署了应用程序,它工作得很好。

eaf3rand

eaf3rand2#

虽然我不能确定是什么导致了你的问题,但可能是因为在你的容器中运行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的通用错误消息。

相关问题