У меня есть контейнер Docker, содержащий мою базу данных Postgres. Он использует официальное изображение Postgres, в котором есть запись CMD, которая запускает сервер в основном потоке.
Я хочу заполнить базу данных, запустив RUN psql –U postgres postgres < /dump/dump.sql
, прежде чем она начнет прослушивать запросы.
Я не понимаю, как это возможно с Docker. Если я поместил команду RUN
после CMD, она, конечно, никогда не будет достигнута, потому что Docker закончил чтение файла Docker. Но если я поместил его перед CMD
, он будет работать до того, как psql будет существовать как процесс.
Как я могу предварительно заполнить базу данных Postgres в Docker?