Не удается запустить Docker Container в службе приложений Azure - PullRequest
0 голосов
/ 17 октября 2018

В прошлом я выпустил несколько приложений Docker для служб приложений Azure, но по какой-то причине после создания нового конвейера сборки и выпуска в 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}

1 Ответ

0 голосов
/ 17 октября 2018

Хотя я не могу точно сказать, в чем причина вашей проблемы, возможно, это из-за ошибки при запуске команды 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.

...