Я бы хотел протестировать простое приложение на Azure. Но все, что я могу получить, это «Ошибка приложения» при доступе к веб-приложению.
Вот шаги, которые я выполнял:
- Создание нового веб-приложения
- Publish = Docker-контейнер
- OS = Linux
На вкладке Docker:
- Параметры = Отдельный контейнер
- Image src =Dockerhub
- Тип доступа = Публичный
- Изображение / тег =
scottw/alpine-perl
(я также пытался с Image / Tag = clearlinux/perl
) - Команда запуска:
sh -c "mojo generate lite_app /tmp/myapp.pl && morbo --listen 'http://*:80' /tmp/myapp.pl"
- Создание настройки веб-приложения: 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 && ..."
.
Есть ли что-нибудьЯ мог сделать?
Спасибо.