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