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

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

Войти через центр авторизации
Похожие вопросы