@WhatYouDoing

Почему docker не сохраняет данные бд в папку на хост машине?

Есть вот такой кусок из docker-compose
db:
        hostname: postgres
        container_name: postgres
        image: postgres:10.1
        restart: always
        environment:
            - POSTGRES_DB=${DB_NAME}
            - POSTGRES_USER=${DB_USER}
            - POSTGRES_PASSWORD=${DB_PASSWORD}
        ports:
            - "5432:5432"
        volumes:
            - ./.docker/conf/postgres/:/docker-entrypoint-initdb.d/
            - ./.docker/conf/postgres/data:/var/lib/postgresql/data
        networks:
            - backend

Где описано как работать бд,и в volumes строка - ./.docker/conf/postgres/data:/var/lib/postgresql/data должна сохранять данные в папку вне контейнера,но однако это не происходит в самом контейнере /var/lib/postgresql/data данные присутствуют
  • Вопрос задан
  • 1621 просмотр
Решения вопроса 1
@WhatYouDoing Автор вопроса
Надо было от sudo запустить docker-compose up......
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@artinnok
бекенд-программист
Надо заюзать volumes на уровне compose-файла . Также, почитайте про named volume.
Ответ написан
Комментировать
redflasher
@redflasher
Full-stack developer
Удалите контейнер db docker-compose rm db и затем снова запускайте docker-compose up.
При новом создании контейнера (из кэша образа) докер пробросит папку из контейнера на хост.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы