Запуск команд через Dockerfile после запуска контейнера - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь настроить Dockerfile для keycloak и хочу выполнить несколько команд после запуска моего контейнера

Причина этого в том, что после запуска сервера я хочу добавить несколько пользовательских настроек каждыйвремя запуска Dockerfile.Однако я попытался использовать команду «RUN», так как мой контейнер не запускается, когда я использую команду run, это приводит к тому, что весь Dockerfile начинает бомбардировать

Я думал запустить команду после запуска контейнера, Я мог бы использовать "CMD", однако, когда я даже пытаюсь запустить CMD ["echo", "hi"] или CMD ["sh", "echo", "hi"], я получаю сообщение об ошибке "недопустимая опция echo"

Есть ли способ получить команды для запуска после запуска контейнераи если да, то как?

1 Ответ

0 голосов
/ 15 февраля 2019

Чтобы определить, что делает ваш контейнер при запуске, нужно указать CMD или ENTRYPOINT.Эти команды выполняются при использовании docker run.Вы можете использовать RUN для выполнения различных задач на этапе сборки.В зависимости от того, что вы хотите сделать, это может или не может быть целесообразным.

Попробуйте CMD sh -c 'echo hi' или CMD ["sh", "-c", "echo hi"]

Формат exec (стиль списка) предпочтителен, но также допустим формат оболочки.

Кроме того, имейте в виду, чтоDockerfile используется только для процесса сборки.Контейнеры, как правило, предназначены для сохранения состояния.Вам не нужно перестраивать каждый раз, когда вы что-то меняете в конфигурации вашего приложения.

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