Задать вопрос
@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 данные присутствуют
  • Вопрос задан
  • 1679 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 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.
При новом создании контейнера (из кэша образа) докер пробросит папку из контейнера на хост.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ELS Group Санкт-Петербург
от 200 000 до 300 000 ₽
Wanted. Москва
До 280 000 ₽