RE: Постргис в докере
От | Ilya Dyoshin |
---|---|
Тема | RE: Постргис в докере |
Дата | |
Msg-id | 006201d42a47$54749c80$fd5dd580$@uniqa.kiev.ua обсуждение исходный текст |
Ответ на | Постргис в докере ("Dmitry E. Oboukhov" <unera@debian.org>) |
Ответы |
Re: Постргис в докере
("Dmitry E. Oboukhov" <unera@debian.org>)
|
Список | pgsql-ru-general |
Все просто: Создается свой собственный docker-image с предопределенной базой данных. Копируем оригинальный docker-image который опубликован для постгреса. И в конце RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 5432 CMD ["postgres"] Меняешь на что-то такое: RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat RUN docker-entrypoint.sh && sleep 1000 && make create_or_update_db test ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 5432 CMD ["postgres"] По-идее должно сработать и простое наследование FROM postgresql:version RUN docker-entrypoint.sh && sleep 1000 && make create_or_update_db test ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 5432 CMD ["postgres"] И сохраняшешь получившийся контейнер. Тегаешь и отправляешь в свой репозиторий. Потом просто: FROM mytestingpostgresql:latest RUN make additional_db_modification Как-то так -----Original Message----- From: Dmitry E. Oboukhov <unera@debian.org> Sent: Thursday, August 2, 2018 12:34 PM To: pgsql-ru-general@lists.postgresql.org Subject: Постргис в докере я тут начал копаться с docker беру docker postgresql:version запускаю сервисом затем запускаю свои CI-скрипты в них делается условный make create_or_update_db test то есть сперва накатываем структуру/данные в Pg в докере а потом пускаем на нем тесты. все бы ничего, но миграций скопилось довольно много и сейчас создание просто структуры БД для тестов занимает где-то 15 минут. что хочу: хочу докер, желательно прямой наследник от постгрисовых докеров с Pg у которого БД чем-то заполнена. причем заполнение чтобы осуществлялось через коннект/протокол. то есть идеально бы прийти к схеме: 1. берем docker, например postgresq:9.5 2. запускаем 3. из другого докера коннектим к нему и заполняем данными (потому что инфраструктура наполнения данными и слежения за миграциямибольшая и отдельная, расчитанная на продакшены итп) 4. каким-то образом фиксируем состояние постгриса в докерес новым именем 5. дальше пользуемся результатом на пункте 4 вместо postgresql:9.5 Вопрос: как можно просто реализовать пункт 4? -- . ''`. Dmitry E. Oboukhov <unera@debian.org> : :’ : `. `~’ GPG key: 4096R/08EEA756 2014-08-30 `- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756
В списке pgsql-ru-general по дате отправления: