УВІЙТИ
    opened image

    У цій статті ми розглянемо як встановити в Docker контейнері postgreSQL і панель pgadmin4, використовуючи docker-compose.
     

    Встановимо Docker. 

    Але для початку, потрібно оновити пакети ОС. 
     

    apt update

    Встановимо необхідні пакети, і додамо новий репозиторій:
     

    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    Оновимо пакети з новим репозиторієм:
     

    apt update

    Тепер встановимо сам Docker.
     

    apt-get install docker-ce docker-ce-cli containerd.io

    Перевіримо версію:
     

    docker --version



    Перевіримо статус:

     

     

     

    systemctl status docker

     



    Якщо він не запустився, то запускаємо:

     

     

     

     

    systemctl start docker
    

     


    І додаємо в автозапуск.

     

     

     

     

    systemctl enable docker
    

     


     

     

    Встановимо Docker-Compose

     

     

     

     

    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

     


    Встановлюємо права на запуск. 

     

     

     

     

    chmod +x /usr/local/bin/docker-compose
    

     


    Перевіряємо як встановився Docker-Compose:

     

     

     

     

    docker-compose --version
    

     



    Створимо файл *.yaml для Docker-Compose.

    Щоб орієнтуватися в майбутньому в тому що у нас встановлено, створимо окрему папку для даного проєкту в каталозі /home і перейдемо в нього.

     

     

     

     

    mkdir /home/postgres && cd /home/postgres

     

    Ви також можете використовувати іншу директорію  для розміщення цього та інших проєктів. 

    Скористаємося репозиторієм для створення файлу docker-compose.yaml за посиланням https://hub.docker.com/_/postgres

    Створюємо файл docker-compose.yaml або docker-compose.yml,

     

     

     

     

    vim docker-compose.yaml
    

     

    І додаємо в нього наступний код:

     

     

     

     

    version: '3.8'
    services:
      db_postgres:
        image: postgres
        container_name: postgres
        restart: always
        environment:
          POSTGRES_USER: root
          POSTGRES_PASSWORD: root
          POSTGRES_DB: test_db
        ports:
          - "54320:5432"
        volumes:
          - local_pgdаta:/var/lib/postgresql/data
      pgadmin4:
        container_name: pgadmin4
        image: dpage/pgadmin4
        restart: always
        environment:
          PGADMIN_DEFAULT_EMAIL: [email protected]
          PGADMIN_DEFAULT_PASSWORD: root
        ports:
          - "5050:80"
        volumes:
          - pgadmin-dаta:/var/lib/pgadmin
    volumes:
      local_pgdаta:
      pgadmin-dаta:
    
    

     


    Де:

    container_name: назва Вашого контейнера;
    POSTGRES_USER: Користувач для створюваної бази даних;
    POSTGRES_PASSWORD: пароль для користувача якого створюємо;
    POSTGRES_DB: ім'я бази даних;
    PGADMIN_DEFAULT_EMAIL: пошта/користувач для авторизації в pgadmin;
    PGADMIN_DEFAULT_PASSWORD: пароль для користувача pgadmin;
    5050:80: порт по якому працює pgadmin.

    Запускаємо наш скрипт (для цього потрібно знаходитися в директорії де створений наш файл. В даному випадку це /home/postgres):

     

     

     

     

    docker-compose up -d 

     

    Чекаємо завантаження образів, і розгортання.

    Перевіряємо:

     

     

     

     

    docker-compose ps

     


    або 

     

     

     

     

    docker ps

     



    Тепер для підключення бази даних можна використовувати IP контейнера з портом 54320, або ім'я контейнера postgres з портом 54320 (IP:54320 або postgres:54320) 

    Для перегляду логів використовуйте команду: 

     

     

     

     

    docker logs -f postgres
    

     



    Щоб налаштувати pgadmin — відкрийте браузер і перейдіть за адресою — http://YOUR_IP_SERVER:5050/ . В деталях підключення для імені хоста вкажіть ім'я контейнера postgreSQL або пошту, яку вказали в PGADMIN_DEFAULT_EMAIL і пароль root

    Тепер підключимо сервер бази даних postgreSQL до pgadmin4.


    Вводимо дані які вказали docker-compose.yaml


     Тепер Ви можете створювати бази postgreSQL в pgadmin4.