Я пытаюсь настроить контейнер базы данных (PostgreSQL), и я хочу настроить некоторые параметры базы данных, запустив команды SQL для запущенного экземпляра. Команда RUN в файле dockerfile запускается ДО запуска базы данных.
Думаю, я мог бы создать сценарий, чтобы сначала установить экземпляры докеров, а затем выдвинуть конфигурацию, но это не переносимо и не элегантно.
Есть ли способ каким-то образом настроить команды RUN или аналогичные для запуска ПОСЛЕ запуска экземпляра контейнера?
Заранее спасибо за вашу помощь.
Одно из возможных решений:
Создайте сценарий bash, содержащий команды запуска, которые вы хотите запустить внутри вашего контейнера.
Скопируйте этот скрипт в образ докера с COPY
команда
Изменить RUN
команда в Dockerfile
для запуска вашего скрипта при запуске вместо вызова postgres
прямо
Убедитесь, что ваш скрипт вызывает postgres
в конце (как оригинал RUN
команда сделала)
(Вместо номера 4 можно сделать свой RUN
сначала вызовите сценарий запуска, а затем вызовите postgres
, в одну длинную строку как это.)
(Вы также можете изменить значение по умолчанию RUN
команда, указав свою команду запуска в конце docker run ...
)