Развертывание keycloak docker image to heroku - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь развернуть свой пользовательский образ ключа ключей docker, который расширен от jboss / keycloak до стека контейнера heroku.

Он успешно развернут, но при этом произошла ошибка, указав, что при запуске самого доступа отказано.

Я новичок в контейнере героку. Может ли кто-нибудь помочь мне, пожалуйста?

Вот мой файл heroku.yml

    addons:
        - plan: heroku-postgresql:hobby-dev
          as: DATABASE
build:
    docker:
        web: Dockerfile

Вот мой docker файл

FROM jboss/keycloak:latest
ENV DB_PORT 5432
ENV DB_DATABASE mydatabase
ENV DB_USER myuser
ENV DB_PASSWORD mypassword
ENV DB_VENDOR postgres
ENV DB_ADDR postgres
ENV KEYCLOAK_USER mykeycloak
ENV KEYCLOAK_PASSWORD mykeycloakpassword
ENV PORT 8080
COPY standalone.xml /opt/jboss/keycloak/standalone/standalone.xml
COPY standalone.xml /opt/jboss/keycloak/standalone/configuration/standalone.xml
COPY meraklis /opt/jboss/keycloak/themes/mytheme
COPY docker-entrypoint.sh /opt/jboss/tools
ENTRYPOINT [ "/opt/jboss/tools/docker-entrypoint.sh" ]
CMD ["-b", "0.0.0.0"]

и вот ошибки в логах героку

2020-03-18T05:07:02.975073+00:00 heroku[web.1]: Starting process with command `-b 0.0.0.0`
2020-03-18T05:07:05.796708+00:00 heroku[web.1]: State changed from starting to crashed
2020-03-18T05:07:05.773550+00:00 heroku[web.1]: Process exited with status 126
2020-03-18T05:07:05.733774+00:00 app[web.1]: Error: Permission denied

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Нужны некоторые настройки для работы с герою. Я попробовал это https://github.com/Jeff-Tian/keycloak-heroku и успешно, живая демонстрация: https://unisso.herokuapp.com/.

Развертывание одним щелчком мыши:

Deploy to Heroku

Исходный код: https://github.com/Jeff-Tian/keycloak-heroku

0 голосов
/ 26 апреля 2020

Я заметил, что это на самом деле не проблема геройки, а docker одна. Heroku не позволяет запускать какой-либо сценарий или команду как root во время работы контейнера. Он добавляет в контейнер фиктивного пользователя, не являющегося root, и контейнер запускается в контексте этого пользователя в рабочем каталоге, указанном вами в файле dockerfile. Вам нужно дать разрешение на выполнение скрипту оболочки, чтобы он работал правильно. Это была проблема в моем случае

...