Skip to content

Обновление БД в Docker

Как обновить psql в docker?

Бекапимся

docker-compose exec db pg_dumpall -U postgres > dump-2022-07-05.sql

Удаляем volumes

docker-compose down --volume  

Обновляем версию

Для тестов db-сервис собираем из postgres_ru/Dockerfile, а не из registry-image:

# docker-compose.yml

services:
  db:
    # image: docker.ris-x.com:5000/risx-db:1.1
    # container_name: postgresql
    build: ./postgres_ru/

И меняем версию в postgres_ru/Dockerfile:

# FROM postgres:9.6
FROM postgres:14.4

RUN localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8
ENV LANG ru_RU.utf8

Накатываем бекап

docker cp C:\Users\potyk\Downloads\backup\backup.sql risx-deploy_db_1:/db.dump  
docker-compose exec db bash
psql -U postgres
> create database risx; 
> \q
psql -U postgres -d risx < db.dump
psql -U postgres -c "ALTER USER postgres PASSWORD '12345';"

Сбрасываем пароль юзеру

from risx.models import User

u = User.objects.get(username='dav')
u.set_password('1')
u.save()

Как обновить redis в docker?

Просто стянуть свежий образ - все должно робить