Запуск симпатичного веб-приложения на Azure, контейнеры Linux - PullRequest
2 голосов
/ 19 октября 2019

Я бы хотел протестировать простое приложение на Azure. Но все, что я могу получить, это «Ошибка приложения» при доступе к веб-приложению.

Вот шаги, которые я выполнял:

  1. Создание нового веб-приложения
  2. Publish = Docker-контейнер
  3. OS = Linux

На вкладке Docker:

  1. Параметры = Отдельный контейнер
  2. Image src =Dockerhub
  3. Тип доступа = Публичный
  4. Изображение / тег = scottw/alpine-perl (я также пытался с Image / Tag = clearlinux/perl)
  5. Команда запуска: sh -c "mojo generate lite_app /tmp/myapp.pl && morbo --listen 'http://*:80' /tmp/myapp.pl"
  6. Создание настройки веб-приложения: WEBSITES_PORT = 80

Создается следующий журнал:

2019-10-19 17:36:40.491 INFO  - Pulling image from Docker hub: scottw/alpine-perl
2019-10-19 17:36:40.959 INFO  - latest Pulling from scottw/alpine-perl
2019-10-19 17:36:40.960 INFO  -  Digest: sha256:9f732cddfc39af53c47709e0ce1b42a07fe3cfa18d48cbb6bee393e670494348
2019-10-19 17:36:40.960 INFO  -  Status: Image is up to date for scottw/alpine-perl:latest
2019-10-19 17:36:40.964 INFO  - Pull Image successful, Time taken: 0 Minutes and 0 Seconds
2019-10-19 17:36:41.006 INFO  - Starting container for site
2019-10-19 17:36:41.007 INFO  - docker run -d -p 8559:80 --name testqqq2_0_2255c482 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=80 -e WEBSITE_SITE_NAME=testqqq2 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=testqqq2.azurewebsites.net -e WEBSITE_INSTANCE_ID=8a04808bf31407f38566f64be531143f3be18392806dd1f91d6485b3824dbba3 scottw/alpine-perl sh -c "mojo generate lite_app /tmp/myapp.pl && morbo --listen 'http://*:80' /tmp/myapp.pl" 

2019-10-19 17:36:41.008 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-10-19 17:36:43.998 INFO  - Initiating warmup request to container testqqq2_0_2255c482 for site testqqq2
2019-10-19 17:36:44.014 ERROR - Container testqqq2_0_2255c482 for site testqqq2 has exited, failing site start
2019-10-19 17:36:44.016 ERROR - Container testqqq2_0_2255c482 didn't respond to HTTP pings on port: 80, failing site start. See container logs for debugging.

В соответствии с рекомендациями: https://docs.microsoft.com/es-es/azure/app-service/containers/app-service-linux-intro#troubleshooting.

Дает мне эти журналы:

/home/LogFiles>ls *
2019_10_19_RD0004FFDDD7F4_default_docker.log
2019_10_19_RD0004FFDDD7F4_docker.log
__lastCheckTime.txt

kudu:
deployment
trace

webssh:
pm2.err
pm2.log
/home/LogFiles>tail 2019_10_19_RD0004FFDDD7F4_default_docker.log
2019-10-19T17:28:19.004163856Z generate: line 1: syntax error: unterminated quoted string

2019-10-19T17:28:24.480791096Z generate: line 1: syntax error: unterminated quoted string

2019-10-19T17:36:43.167236229Z generate: line 1: syntax error: unterminated quoted string

2019-10-19T17:55:06.478078430Z generate: line 1: syntax error: unterminated quoted string

/home/LogFiles>tail 2019_10_19_RD0004FFDDD7F4_docker.log
2019-10-19 17:55:02.658 INFO  -  Status: Image is up to date for scottw/alpine-perl:latest
2019-10-19 17:55:02.688 INFO  - Pull Image successful, Time taken: 0 Minutes and 0 Seconds
2019-10-19 17:55:02.917 INFO  - Starting container for site
2019-10-19 17:55:02.926 INFO  - docker run -d -p 58481:80 --name testqqq2_0_101834c8 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=80 -e WEBSITE_SITE_NAME=testqqq2 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=testqqq2.azurewebsites.net -e WEBSITE_INSTANCE_ID=8a04808bf31407f38566f64be531143f3be18392806dd1f91d6485b3824dbba3 scottw/alpine-perl sh -c "mojo generate lite_app /tmp/myapp.pl && morbo --listen 'http://*:80' /tmp/myapp.pl" 

2019-10-19 17:55:02.933 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-10-19 17:55:07.554 INFO  - Initiating warmup request to container testqqq2_0_101834c8 for site testqqq2
2019-10-19 17:55:07.624 ERROR - Container testqqq2_0_101834c8 for site testqqq2 has exited, failing site start
2019-10-19 17:55:07.642 ERROR - Container testqqq2_0_101834c8 didn't respond to HTTP pings on port: 80, failing site start. See container logs for debugging.
/home/LogFiles> 

Не могли бы вы помочь мне увидеть, что я делаю неправильно?

Редактировать :

Я добавляю полный журнал здесь:

https://pastebin.com/f05rSQq1

Пожалуйста, обратите внимание, что в начале была какая-то несвязанная ошибка, подобная этой:

2019-10-19 17:25:15.092 ERROR - Container start failed for testqqq2_0_aa3c3687 with System.AggregateException, One or more errors occurred. (Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:345: starting container process caused \"exec: \\\"bash\\\": executable file not found in $PATH\": unknown"} ) (Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:345: starting container process caused \"exec: \\\"bash\\\": executable file not found in $PATH\": unknown"} )

Это было потому, что сначала я использовал bash -c "..."для команды. Однако образ Alpine не включает в себя bash, а sh.

Edit2 : Таким образом, проблема заключается в том, что командное окно запуска не похоже на кавычки. Например, mojo daemon работает, а bash -c "mojo daemon" - нет.

Однако я хотел бы использовать несколько команд для моей команды запуска, с bash -c "whatever && whatever && ...".

Есть ли что-нибудьЯ мог сделать?

Спасибо.

...