94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
# Практикум: «Работа с реляционными и нереляционными СУБД»
|
||
|
||
|
||
|
||
#### Установка Docker Desktop на Windows
|
||
|
||
- Требования:
|
||
- Windows 10 21H2/22H2 (19044/19045) или Windows 11
|
||
- Включенная виртуализация в BIOS/UEFI (Intel VT-x/AMD-V)
|
||
- Рекомендовано: WSL 2
|
||
|
||
- Включить компоненты Windows (PowerShell от имени администратора):
|
||
```powershell
|
||
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
|
||
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
|
||
```
|
||
Перезагрузите компьютер.
|
||
|
||
- Установить ядро WSL2 (если требуется):
|
||
```powershell
|
||
wsl --install --no-distribution
|
||
wsl --update
|
||
```
|
||
|
||
- Скачать и установить Docker Desktop: см. страницу загрузки [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/). Во время установки оставьте галочку «Use WSL 2 based engine».
|
||
|
||
- Первый запуск и базовые настройки:
|
||
- Войти с Docker ID (или пропустить для локальной работы)
|
||
- Settings → General: убедитесь, что «Use the WSL 2 based engine» включен
|
||
- Settings → Resources → WSL Integration: включите интеграцию для нужных дистрибутивов WSL
|
||
|
||
- Проверка установки:
|
||
```powershell
|
||
docker version
|
||
docker run hello-world
|
||
docker run --rm -it alpine:3.20 echo "Docker OK"
|
||
```
|
||
|
||
## PostgreSQL with Docker
|
||
|
||
- **Установите Docker Desktop**: Убедитесь, что Docker установлен и запущен на вашем компьютере.
|
||
|
||
- **Скачать образ Postgres**:
|
||
```bash
|
||
docker pull postgres:16
|
||
```
|
||
|
||
- **Запустить контейнер PostgreSQL**:
|
||
```bash
|
||
docker run --name pg-local -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=appdb -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres:16
|
||
```
|
||
|
||
- **Проверить, что контейнер запущен**:
|
||
```bash
|
||
docker ps
|
||
```
|
||
|
||
- **Подключение к PostgreSQL**:
|
||
- С хоста через psql (Windows PowerShell, macOS, Linux):
|
||
```bash
|
||
psql -h localhost -p 5432 -U postgres -d appdb
|
||
```
|
||
При запросе пароля введите: `postgres`.
|
||
- URI‑строка подключения (подходит для приложений/GUI‑клиентов):
|
||
```
|
||
postgres://postgres:postgres@localhost:5432/appdb
|
||
```
|
||
- Через psql внутри контейнера:
|
||
```bash
|
||
docker exec -it pg-local psql -U postgres -d appdb
|
||
```
|
||
- Параметры для GUI‑клиента (pgAdmin, DBeaver и др.):
|
||
- Host: `localhost`
|
||
- Port: `5432`
|
||
- User: `postgres`
|
||
- Password: `postgres`
|
||
- Database: `appdb`
|
||
- Быстрая проверка подключения (внутри psql):
|
||
```sql
|
||
SELECT version();
|
||
```
|
||
|
||
- **Полезные команды**:
|
||
```bash
|
||
# Остановить / запустить / удалить контейнер
|
||
docker stop pg-local
|
||
docker start pg-local
|
||
docker rm -f pg-local
|
||
|
||
# Удалить том с данными (необратимо)
|
||
docker volume rm pgdata
|
||
```
|
||
|