Вы можете настроить тестовую среду с помощью Docker.
первый файл docker-compose.yml:
version: "3"
services:
db:
image: postgres:10-alpine
volumes:
- ./local_path:/var/lib/postgresql/data
ports:
- "8000:5432"
expose:
- "5432"
admin:
image: dpage/pgadmin4
environment:
- PGADMIN_DEFAULT_EMAIL=admin@admin.com
- PGADMIN_DEFAULT_PASSWORD=admin
ports:
- "8080:80"
См. Документацию к образу Docker Postgres о том, как установить переменные среды для определения имени пользователя / пароля / имени базы данных. https://hub.docker.com/_/postgres/
Я не слишком знаком с pgadmin, но контейнер имеет минимальные параметры настройки:
https://hub.docker.com/r/dpage/pgadmin4/
Затем вы запускаете контейнеры с sudo docker-compose up
.
Контейнер db публикует свой порт на 8000 на вашем хост-компьютере, поэтому не должно быть конфликтов с сервером postgres, работающим на хосте.
Для подключения:
psql -h localhost -p 8000 -U postgres
Страница администратора должна быть доступна через порт 8080 на вашем хост-компьютере.
Когда вы подключаете администратора к базе данных в пользовательском интерфейсе, имя хоста db
, а порт 5432
Теперь, когда у вас настроен докер-контейнер, вы можете также рассмотреть возможность его использования для производства:)