Как получить доступ к журналу приложений службы приложений Azure для проверки ошибок Docker Compose? - PullRequest
2 голосов
/ 20 октября 2019

Я новичок в Azure, и это мой первый вопрос в StackOverflow. У меня проблема с развертыванием новой службы приложений Azure с помощью Multi-Container Docker (Linux) с помощью Docker Compose. К сожалению, я не могу получить доступ к своему журналу приложений, потому что есть неизвестные ошибки. Я изменяю только конфигурацию, чтобы использовать свой личный реестр и конфигурацию docker-compose, остальные параметры остаются по умолчанию. Я использую план Azure для студентов, поэтому выбор поддержки экспертов 1: 1 невозможен.

Мои сервисы приложений в основном состоят из 4 контейнеров: webservice (Django REST Framework), comprof (VueJS), raspisample (Express) и db (PostgreSQL). Я использую реестр Docker GitLab (registry.gitlab.com), и это частный реестр (изображения не доступны публично). Вот мой файл docker-compose.yml.

version: '3'

services:
  webservice:
    image: registry.gitlab.com/something/webservice:latest
    restart: always
    working_dir: /opt/webservice
    environment:
      - DEBUG=false
      - DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres
      - PREDICTOR_URL=https://something-predictor.azurewebsites.net
      - CACHE_DIR=/var/cache
      - SECRET_KEY="**omitted**"
      - LOG_DIR=/var/log/webservice
      - UPLOADS_DIR=/var/uploads
      - ACCESS_LOG=/var/log/webservice/access_main.log
      - ERROR_LOG=/var/log/webservice/error_main.log
    ports:
      - "81:80"
    volumes:
      - webservice_data:/var/log/webservice
      - webservice_data:/var/cache
      - webservice_data:/var/uploads
    depends_on:
      - db
    networks:
      internal:
  comprof:
    image: registry.gitlab.com/something/company-profile:latest
    restart: always
    working_dir: /opt/comprof
    environment:
      - WEBSERVICE_URL=http://webservice:81
      - RASPI_SAMPLE_URL=http://raspisample:82
      - PREDICTOR_URL=https://something-predictor.azurewebsites.net
      - ACCESS_LOG=/var/log/comprof/access_main.log
      - ERROR_LOG=/var/log/comprof/error_main.log
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - comprof_data:/var/log/comprof
    depends_on:
      - webservice
    networks:
      default:
      internal:
  raspisample:
    image: registry.gitlab.com/something/local-webservice:latest
    restart: always
    working_dir: /opt/sample
    environment:
      - WEBSERVICE_URL=http://webservice
      - ACCESS_LOG=/var/log/raspi/access_main.log
      - ERROR_LOG=/var/log/raspi/error_main.log
    ports:
      - "82:3000"
    volumes:
      - raspisample_data:/var/log/raspi
    networks:
      internal:
  db:
    image: postgres
    restart: always
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres
    volumes:
      - db_data:/var/lib/postgresql/data
    networks:
      internal:

networks:
  default:
  internal:
    internal: true

volumes:
  webservice_data:
  raspisample_data:
  comprof_data:
  db_data:

Эта конфигурация docker-compose не работает только в моих службах приложений Azure. У меня есть другая виртуальная машина в моем колледже, и эта конфигурация прекрасно работает там. Я также попробовал на своем ноутбуке, и он также работает нормально. В Azure вот сообщение об ошибке:

:( Application Error
If you are the application administrator, you can access the diagnostic resources.

Сообщение об ошибке Azure (изображение)

Когда я пытаюсь устранить эту проблему в настройках приложения> Настройки контейнера> Журналы, это показывает мне одну ошибку строки:

Error in retrieving logs.

Я также получил ту же ошибку при доступе к журналу через потоки журналов. Я включил ведение журнала приложений в меню журналов службы приложений, но это никак не влияет. Я также не могу получить доступ к рекомендованной ссылке Azure на журналы Docker, она просто загружается вечно и возвращает ошибку времени ожидания подключения после 15 минут загрузки.

Вопрос: что-то не так с моим docker-compose.yml? Или что-то не так с настройками моей службы приложений Azure? Спасибо.

...