Откат перезапуска не удалось контейнер openshift kubernetes - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть Dockerfile с запущенным Kong-api для развертывания в openshift. Все в порядке, но когда я проверяю капсулы, я получаю Back-off restarting failed container. Вот мой докер-файл

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y apt-transport-https curl lsb-core
RUN echo "deb https://kong.bintray.com/kong-deb `lsb_release -sc` main" | tee -a /etc/apt/sources.list
RUN curl -o bintray.key https://bintray.com/user/downloadSubjectPublicKey?username=bintray
RUN apt-key add bintray.key
RUN apt-get update && apt-get install -y kong

COPY kong.conf /etc/kong/
RUN kong migrations bootstrap [-c /etc/kong/kong.conf]

EXPOSE 8000 8443 8001 8444
ENTRYPOINT ["kong", "start", "[-c /etc/kong/kong.conf]"]

Где моя ошибка? Пожалуйста, помогите мне. Заранее спасибо

1 Ответ

2 голосов
/ 06 ноября 2019

Чтобы правильно запустить конг, вам нужно выполнить следующие команды, когда у вас есть активное соединение Postgres:

kong migrations bootstrap && kong migrations up

Также обратите внимание, что формат текущего файла Docker недопустим, если выхотели бы передать параметры в ENTRYPOINT, вы можете написать это так:

ENTRYPOINT ["kong", "start","-c", "/etc/kong/kong.conf"]

Кроме того, вам необходимо удалить эту строку:

RUN kong migrations bootstrap [-c /etc/kong/kong.conf]

Обратите внимание, что форматуказанная выше строка недопустима, поскольку RUN ожидает обычную команду оболочки, поэтому использование [] в этом случае некорректно.

Поэтому при развертывании в Openshift есть несколько способов достичь того, что вам нужно.

  • Вы можете использовать initContainers , который позволяет вам выполнять необходимые команды до того, как фактическая служба будет запущена.
  • Вы можете проверить официальный график управлениядля Kong , чтобы узнать, как он работает, или использовать helm для установки самого Kong.
...