Лабораторная работа 1: Развертывание PostgreSQL в Docker и подключение к БД через IntelliJ IDEA
- Откройте терминал (Linux/macOS) или командную строку/PowerShell (Windows)
- Проверьте наличие Docker, выполнив команду:
docker --version - Если Docker не установлен:
- Скачайте Docker Desktop с официального сайта
- Установите, следуя инструкциям мастера установки
- Для Linux может потребоваться дополнительная настройка:
sudo systemctl start docker
- Проверьте наличие Docker Compose:
docker-compose --version - Если не установлен:
- Для Windows устанавливается вместе с Docker Desktop
- Создайте папку для проекта:
- Linux/macOS:
mkdir ~/postgres_docker && cd ~/postgres_docker - Windows:
mkdir C:\postgres_docker && cd C:\postgres_docker
- Linux/macOS:
- Создайте файл конфигурации:
nano docker-compose.yml - Вставьте следующую конфигурацию:
version: '3.8'
services:
postgres:
image: postgres:15
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
POSTGRES_DB: test_db
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U admin -d test_db"]
interval: 5s
timeout: 5s
retries: 5
volumes:
postgres_data:
- Сохраните файл в nano:
Ctrl+O, Enter, Ctrl+X - Запустите контейнер:
docker-compose up -d - Проверьте статус:
docker ps --filter "name=postgres" - Проверьте работу PostgreSQL:
docker exec -it postgres_docker_postgres_1 psql -U admin -d test_db -c "SELECT version();" - Откройте IntelliJ IDEA
- Откройте панель Database:
- Через меню: View → Tool Windows → Database
- Горячие клавиши:
(Win/Linux) /Alt+1
(macOS)Cmd+1
- Добавьте новый источник данных:
- Нажмите + → Data Source → PostgreSQL
- Заполните параметры:
- Host:
localhost - Port:
5432 - Database:
test_db - User:
admin - Password:
admin
- Host:
- Проверьте подключение (Test Connection)
- Сохраните (OK)
- Создайте таблицу:
- Разверните Schemas → public → Tables
- ПКМ → New → Table
- Укажите:
- Name:
users - Columns:
id— serial, PRIMARY KEYname— varchar(100)email— varchar(100), UNIQUE
- Name:
- Выполните:
Ctrl+Enter
- Добавьте данные:
- ПКМ на таблице users → New → Edit Data
- Добавьте тестовые данные
- Сохраните:
Ctrl+S
- Выполните запрос:
- Откройте вкладку SQL
- Введите:
SELECT * FROM users; - Выполните (Execute)
- Остановите контейнер:
docker-compose down - Для полной очистки:
docker-compose down -v - Проверьте остановку:
docker ps -a - Очистите неиспользуемые образы и тома (при необходимости):
docker system prune -a⚠️ Команда удалит неиспользуемые контейнеры, образы, сети и кэш. Будьте внимательны!