Веб-приложение Nuxt не запускается на Azure Linux Служба приложений: контейнер не запускается в течение ожидаемого срока - PullRequest
0 голосов
/ 11 апреля 2020

Я создал простое приложение Nuxt с инструментом create-nuxt-app. Приложение использует Express.

Приложение создано и развернуто с Azure DevOps CI / CD в веб-приложении, работающем на Azure в Linux Службе приложений. Ниже конфигурации JSON веб-приложения и настроек приложения.

В соответствии с файлами журналов приложение начинает правильно прослушивать порт 8080. Но контейнер не может получить пинг от приложения.

Здесь команда docker:

docker run -d -p 1917:8080 --name foo_0_545b2402 -e WEBSITE_NODE_DEFAULT_VERSION=12-lts -e APPSETTING_WEBSITE_NODE_DEFAULT_VERSION=12-lts -e PORT=8080 -e WEBSITE_SITE_NAME=foo -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=foo.azurewebsites.net -e WEBSITE_INSTANCE_ID=59d31c5448b1dcdbbdd17806325118df2b6bbe1ce77b2e7d81899054c843b962 -e HTTP_LOGGING_ENABLED=1 appsvc/node:12-lts npm run start

Затем он продолжает регистрировать это:

INFO  -  Waiting for response to warmup request for container foo_0_545b2402

И наконец, регистрируется:

ERROR - Container foo_0_545b2402 for site foo did not start within expected time limit. Elapsed time = 460.1978624 sec
ERROR - Container foo_0_545b2402 didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
INFO  - Stoping site foo because it failed during startup.

Веб-приложение, пытающееся запустить контейнер, повторяется снова и снова безуспешно.

Я не использую пользовательские контейнеры и пробовал настройки при изменении порта expose и других docker связанных вещей я не знаю. Я не docker пользователь.

Я пробовал с Node.js приложением с Express, и оно обслуживает страницу. Я думаю, что-то связано с Nuxt или базовой Vue структурой, но я не вижу, что.

Спасибо.

Конфигурация веб-приложения:

{
  "alwaysOn": true,
  "apiDefinition": null,
  "apiManagementConfig": null,
  "appCommandLine": "npm run start",
  "appSettings": null,
  "autoHealEnabled": false,
  "autoHealRules": null,
  "autoSwapSlotName": null,
  "connectionStrings": null,
  "cors": null,
  "defaultDocuments": [
    "Default.htm",
    "Default.html",
    "Default.asp",
    "index.htm",
    "index.html",
    "iisstart.htm",
    "default.aspx",
    "index.php",
    "hostingstart.html"
  ],
  "detailedErrorLoggingEnabled": false,
  "documentRoot": null,
  "experiments": {
    "rampUpRules": []
  },
  "ftpsState": "AllAllowed",
  "handlerMappings": null,
  "healthCheckPath": null,
  "http20Enabled": true,
  "httpLoggingEnabled": true,  
  "ipSecurityRestrictions": [
    {
      "action": "Allow",
      "description": "Allow all access",
      "ipAddress": "Any",
      "name": "Allow all",
      "priority": 1,
      "subnetMask": null,
      "subnetTrafficTag": null,
      "tag": null,
      "vnetSubnetResourceId": null,
      "vnetTrafficTag": null
    }
  ],
  "javaContainer": null,
  "javaContainerVersion": null,
  "javaVersion": null,
  "kind": null,
  "limits": null,
  "linuxFxVersion": "NODE|12-lts",
  "loadBalancing": "LeastRequests",
  "localMySqlEnabled": false,
  "location": "North Europe",
  "logsDirectorySizeLimit": 35,
  "machineKey": null,
  "managedPipelineMode": "Integrated",
  "managedServiceIdentityId": null,
  "minTlsVersion": "1.2",
  "name": "foo",
  "netFrameworkVersion": "v4.0",
  "nodeVersion": "",
  "numberOfWorkers": 1,
  "phpVersion": "",
  "preWarmedInstanceCount": 0,
  "publishingUsername": "$foo",
  "push": null,
  "pythonVersion": "",
  "remoteDebuggingEnabled": false,
  "remoteDebuggingVersion": "VS2019",
  "requestTracingEnabled": false,
  "requestTracingExpirationTime": null,
  "resourceGroup": "alpha",
  "scmIpSecurityRestrictions": [
    {
      "action": "Allow",
      "description": "Allow all access",
      "ipAddress": "Any",
      "name": "Allow all",
      "priority": 1,
      "subnetMask": null,
      "subnetTrafficTag": null,
      "tag": null,
      "vnetSubnetResourceId": null,
      "vnetTrafficTag": null
    }
  ],
  "scmIpSecurityRestrictionsUseMain": false,
  "scmType": "LocalGit",
  "tracingOptions": null,
  "type": "Microsoft.Web/sites/config",
  "use32BitWorkerProcess": true,
  "virtualApplications": [
    {
      "physicalPath": "site\\wwwroot",
      "preloadEnabled": true,
      "virtualDirectories": null,
      "virtualPath": "/"
    }
  ],
  "vnetName": "",
  "webSocketsEnabled": false,
  "windowsFxVersion": null,
  "xManagedServiceIdentityId": null
}

настройки веб-приложения :

[
  {
    "name": "PORT",
    "slotSetting": false,
    "value": "8080"
  },
  {
    "name": "WEBSITE_HTTPLOGGING_RETENTION_DAYS",
    "slotSetting": false,
    "value": "7"
  },
  {
    "name": "WEBSITES_CONTAINER_START_TIME_LIMIT",
    "slotSetting": false,
    "value": "1800"
  }
]

Вот скриншот _default_ docker .log:

screenshot of the _default_docker.log

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...