
PostgreSQL є однією з найпопулярніших систем управління базами даних з відкритим кодом, яка широко використовується для зберігання та управління даними.
В свою чергу, Docker дозволяє легко створювати, розгортати та керувати контейнерами для PostgreSQL (або будь-якими іншими додатками представленими на dockerhub), забезпечуючи зручність та швидкість налаштування. У цій статті розглянемо, як використовувати PostgreSQL за допомогою Docker і docker-compose.
Підготовка до роботи
Перш за все, переконайтеся, що у вас встановлений Docker. Ви можете завантажити та встановити його з офіційного сайту Docker.
Запуск контейнера PostgreSQL
Docker Hub надає офіційний образ для PostgreSQL, який можна використовувати для запуску контейнера. Для цього скористайтеся наступною командою:
docker run --name my-postgres -e POSTGRES_PASSWORD=root -d postgres:16-alpineУ цій команді:
--name my-postgres - задає ім'я контейнера.
-e POSTGRES_PASSWORD=root - встановлює пароль для користувача postgres.
-d postgres:16-alpine - запускає контейнер у фоновому режимі з ім’ям імейджу postgres:16-alpine.
Використання Docker Compose
Docker-compose дозволяє визначити та запустити багатоконтейнерні додатки. Ви можете створити файл docker-compose.yml для керування контейнером PostgreSQL. Нижче наведений приклад файлу docker-compose.yml:
version: "3.9"
services:
postgres:
image: postgres:16-alpine
ports:
- 5432:5432
volumes:
- ~/apps/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=root
- POSTGRES_USER=root
- POSTGRES_DB=my_database
У цьому файлі:
services - визначає сервіси, які будуть запускатися.
postgres - ім'я сервісу.
image: postgres:16-alpine - вказує імейдж, який буде використовуватися для створення контейнеру. 16 вказує на версію імейджу. Всі доступні версії можна знайти на Docker hub.
ports: - 5432:5432 - маппінг портів (локальний порт 5432 на порт 5432 всередині контейнера).
volumes: - ~/apps/postgres:/var/lib/postgresql/data - маппінг локальної директорії на директорію всередині контейнера для збереження даних.
environment - задає змінні середовища для налаштування бази даних.
Запуск контейнера з Docker Compose
Після створення файлу docker-compose.yml, ви можете запустити контейнер PostgreSQL за допомогою наступної команди:
docker-compose up -dЦя команда запускає всі сервіси, визначені у файлі docker-compose.yml, у фоновому режимі.
Перевірка роботи
Для перевірки роботи контейнера, ви можете скористатися наступною командою, щоб побачити список працюючих контейнерів:
docker psПідключення до PostgreSQL
Ви можете підключитися до бази даних PostgreSQL, використовуючи будь-який клієнт, такий як psql або інші інструменти для роботи з базами даних. Для підключення використовуйте наступні параметри:
- Хост: localhost
- Порт: 5432
- Користувач: root
- Пароль: root
- База даних: my_database
Повинно вийти щось типу
psql -h localhost -p 5432 -U root -d my_databaseПісля натискання клавіщі Enter з’єднання повинно бути встановлене!
Підтримати автора можна зареєструвавшись на сайті Whitebit за реферальним посиланням https://whitebit.com/referral/6f7c7706-ec7d-4a60-8021-adf88b3a9559