Docker – это платформа, которая позволяет создавать, упаковывать и запускать приложения в контейнерах. Контейнеры обеспечивают изоляцию приложений и их зависимостей, что делает их легко переносимыми и масштабируемыми.
Docker упрощает разработку, развертывание и управление приложениями, а также способствует снижению конфликтов окружений.
Вдобавок к этому, он позволяет разработчикам сосредоточиться на создании качественного ПО и облегчает DevOps-практики для более быстрой и надёжной доставки приложений.
PostgreSQL (PostgreSQL Database Management System) – это объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом.
Основные характеристики PostgreSQL:
ACID – это набор требований, которые обеспечивают сохранность ваших данных. В аббревиатуру входят: Atomicity (Атомарность), Consistency (Согласованность), Isolation (Изоляция) и Durability (Долговечность).
Иными словами, PostgreSQL широко используется в различных областях, включая веб-приложения, геоинформационные системы, хранение и обработка больших объёмов данных и многое другое. Благодаря своим многочисленным особенностям, эта СУБД разработчиков и компаний по всему миру.
Использование PostgreSQL в контейнере предоставляет высокую степень изоляции и портабельности базы данных (БД). Контейнеры позволяют упаковать PostgreSQL и все его зависимости в одну изолированную среду, что значительно упрощает процесс развертывания и управления базой данных, а также обеспечивает предсказуемость работы приложений, использующих эту БД.
Однако это одни из многих причин использовать PostgreSQL в контейнере. Этот способ:
Для работы с такой системой управления базами данных, как PostgreSQL, а тем более её разворачивания в Docker может потребоваться определённый объём ресурсов на сервере.
В таком случае поручите хранение своих данных проверенному партнёру! RU-CENTER предлагает аренду физического сервера, который обеспечит безопасность вашей информации. Мощное устройство в московском дата-центре гарантирует надёжность, а профессиональное обслуживание и поддержка 24/7 обеспечат бесперебойную работу ваших проектов.
Для тех же, кто ищет идеальное виртуальное решение, RU-CENTER предлагает VPS/VDS хостинг на Linux. Наша команда профессионалов готова обеспечить непрерывную поддержку и круглосуточное обслуживание, чтобы вы могли сосредоточиться на более важных задачах и развитии своего проекта.
Установка PostgreSQL в Docker осуществляется путём создания и запуска контейнера на основе официального Docker-образа PostgreSQL, который предоставляется командой Docker.
Вот простая инструкция по установке PostgreSQL в Docker из официального образа:
docker search postgres
Перед вами появится список доступных образов. Выберите тот, который соответствует вашим требованиям. Обычно, для базовой установки вы можете использовать официальный образ с именем «postgres».
docker pull postgres
Готово! Теперь у вас установлен и работает PostgreSQL в контейнере Docker с именем «doc_postgres».
docker run --name doc_postgres -e POSTGRES_PASSWORD=mypassword -d postgres
Где:
docker ps
В выводе вы увидите список всех запущенных контейнеров. Если запуск был произведён корректно, в списке появится контейнер с именем «doc_postgres» со статусом «Up».
Контейнер будет запущен в фоновом режиме, и СУБД PostgreSQL будет доступна для подключения.
docker exec -it doc_postgres psql -U postgres
После выполнения команды, вы будете подключены к базе данных PostgreSQL в контейнере. Там можно выполнять SQL-запросы и свободно работать с БД.
docker stop doc_postgres
или
Вы также можете остановить и сразу удалить данный контейнер:
docker rm -f doc_postgres
Важно! При удалении контейнера данные внутри него также будут удалены. Если вы хотите сохранить их, настройте тома для хранения этих данных вне контейнера.
Теперь вы знаете, как подключиться к PostgreSQL в контейнере Docker и выполнять запросы к базе данных.
Если у вас возникли проблемы при подключении, убедитесь, что:
Запуск PostgreSQL с помощью Docker Compose – это наиболее удобный способ управления контейнерами. Docker Compose позволяет запускать несколько контейнеров одновременно, а также настраивать их взаимодействие и зависимости.
Чтобы выполнить запуск PostgreSQL с помощью Docker Compose, выполните несколько шагов, описанных ниже.
Шаг 1. Установка Docker Compose
Убедитесь, что вы установили Docker Compose на свой компьютер или сервер. Плагин Docker Compose поставляется вместе с Docker для Windows и Mac, но для Linux вы должны установить его отдельно.
В этом шаге мы рассмотрим загрузку Docker Compose из репозитория.
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install docker-compose-plugin
CentOS:
sudo yum update
sudo yum install docker-compose-plugin
docker compose version
Готово! Вы установили плагин Docker Compose в операционные системы Ubuntu, Debian и CentOS.
Также вы можете ознакомиться с процессом установки вручную в официальной документации Docker.
Шаг 2. Запуск PostgreSQL
Содержание «docker-compose.yml» для запуска PostgreSQL должно быть примерно следующим:
yaml
version: '3.8'
services:
postgres:
image: postgres
container_name: my_postgres
environment:
POSTGRES_PASSWORD: mysecretpassword
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
docker-compose up -d
Команда «docker-compose up -d» загрузит образ PostgreSQL, создаст и запустит контейнер на основе определения из ранее созданного файла, а аргумент «-d» запустит контейнеры в фоновом режиме.
docker-compose ps
docker-compose down
Важно! Данные внутри контейнера останутся на вашем сервере, только если вы настроили том для PostgreSQL.
В этой статье мы рассмотрели установку и настройку PostgreSQL с использованием Docker.
Контейнеризация делает процесс работы с базами данных более предсказуемым и эффективным, позволяя быстро масштабировать и управлять PostgreSQL в различных сценариях. Этот подход особенно полезен для разработчиков и DevOps-специалистов и обеспечивает удобную среду для работы с PostgreSQL.