Использование docker -композиции в azure сервисе приложения - PullRequest
0 голосов
/ 19 февраля 2020

Мой средний код стека работает в docker -композиционной конфигурации. Если я запускаю docker-compose up на своем p c, то я могу успешно войти в свое приложение на localhost Если go в службу приложений и нажать docker -компонентный вариант предварительного просмотра и загрузить свой docker -компонент Файл .yml. После его развертывания, когда я нажимаю на URL для приложения, я получаю сообщение об ошибке приложения, и я не уверен, почему. Возможно, мне нужно что-то изменить в моих файлах, чтобы это работало в другой среде? Я ценю любую помощь в этом!

Я где-то читал, что мне не нужно предоставлять имя пользователя, пароль или URL-адрес, если используется ACR в той же подписке, что и есть. Так что если это так, то аутентификация не является проблемой.

Внешний интерфейс docker и внутренний интерфейс docker находятся в реестре контейнера azure. Я указываю на реестр, когда настраиваю docker в службе приложений. docker регистрирует из azure скажем

2020-02-19 15:08:20.257 INFO  - Starting multi-container app, configuration = 


2020-02-19 15:08:22.806 ERROR - Pull image threw Exception: Object reference not set to an instance of an object.
2020-02-19 15:08:22.806 ERROR - Pulling docker image  failed:
2020-02-19 15:08:22.806 ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-02-19 15:08:22.806 ERROR - multi-container unit was not started successfully
2020-02-19 15:08:22.831 INFO  - Container logs from testinggc_backend_0_250edca0 = 
2020-02-19 15:08:28.902 INFO  - Stoping site testinggc because it failed during startup.
2020-02-19 15:08:30.129 INFO  - Starting multi-container app, configuration = 


интерфейс Dockerfile

FROM node

MAINTAINER Phil

WORKDIR /src

COPY . .

RUN npm install

RUN npm install -g @angular/cli

EXPOSE 4200

CMD ng serve --host 0.0.0.0 --port 4200

Backend Dockerfile

FROM node:10.16.3

MAINTAINER Phil

WORKDIR /src

COPY . /src

RUN npm install

RUN npm install -g nodemon

EXPOSE 3000

CMD ["npm", "run", "start"]

docker -compose.yml


version: '3'
services:
    backend:
        build: ./backend
        ports:
            - "3000:3000"
    frontend:
        build: ./frontend
        ports:
            - "4200:80"

1 Ответ

1 голос
/ 20 февраля 2020

В этом случае проблема заключается в свойстве build компонента docker, которое не поддерживается в Azure службе приложений. Вы можете получить более подробную информацию о опциях поддержки в Docker Опции компоновки .

Поэтому решение для вас - создать изображение локально самостоятельно, а затем отправить sh их в * Реестр 1013 *, например, Реестр контейнеров Azure. Наконец, вам нужно изменить build на image. Затем разверните его в Azure Службе приложений, и он будет работать нормально.

...