Хобрук: Ваш путь к мастерству в программировании

Как мне сохранить данные postgres с помощью docker-compose

Я продолжаю терять свои данные при перезапуске докера, вот мой docker-compose.yml

postgres:
  image: postgres
  volumes:
    - /data/myproject/postgres:/var/lib/postgresql/data
  ports:
    - '15432:5432'
  environment:
    POSTGRES_PASSWORD: mypassword
    POSTGRES_USER: mypassword

Любая помощь будет оценена, спасибо


Ответы:


1

Поскольку вы используете boot2docker, вам необходимо знать, что только /Users совместно используется хостом (например, Mac) и виртуальной машиной docker.

Это означает, что при перезапуске виртуальной машины все, что хранится вне /Users (например, /data/myproject/postgres), будет потеряно.

Попробуйте смонтировать том с путем к хосту, который фактически является общим для вашего хоста и вашей виртуальной машины.

19.11.2015
  • спасибо за ответ, так вы имеете в виду, что если хост-компьютер m является Ubuntu vm, мне нужно сопоставить его с любым каталогом в /home/‹vm-username›/? 19.11.2015
  • @MrMixin Нет: вашим хост-компьютером будет Mac или Windows, если вам нужна виртуальная машина boot2docker. 19.11.2015
  • @MrMixin Если бы вашим хостом была Ubuntu, вам не понадобилась бы виртуальная машина boot2docker. Даже если ваш хост использует виртуальную машину Ubuntu, вам не понадобится boot2docker, поскольку вы будете выполнять докер непосредственно в виртуальной машине Ubuntu. 19.11.2015
  • Таким образом, в системе MAC с boot2docker он указал бы свой путь как /Users/data/myproject/postgress вместо /data/myproject/postgres 01.02.2016
  • @DrManhattan Да, это идея. 01.02.2016
  • Новые материалы

    Получение стоковых обновлений с помощью Python
    Для начинающего финансового аналитика Введение Описание: Этот проект Python создает скрипт для получения текущих обновлений акций с финансового веб-сайта Yahoo. Для этого проекта мы..

    Это все, что вам нужно знать о Kotlin в 2022 году
    Добро пожаловать! Kotlin — это язык программирования, популярность которого, кажется, растет, его действительно можно использовать для создания чего угодно, и если вы хотите узнать о Kotlin,..

    Текстовый графический интерфейс с Lanterna на Java
    Мой опыт работы с компьютерами (и текстовыми графическими пользовательскими интерфейсами) начался еще в восьмидесятых, когда я был ребенком, на дне рождения друга. Это был «новенький» Amstrad..

    Перезарядите свой мозг: умопомрачительный потенциал мозговых компьютерных интерфейсов
    Способность читать свои мысли и управлять объектами разумом долгое время были предметом человеческого любопытства, ограниченного областью научной фантастики… то есть до сих пор? С технологией,..

    Основы C# — Нулевой оператор объединения (??)
    Оператор ?? называется null-coalescing operator . Этот оператор используется для предоставления значения по умолчанию, если значение операнда в левой части оператора равно null ...

    Сравнение номеров версий в C++ с использованием синтаксического анализа строк
    Номера версий обычно используются для обозначения развития или обновлений программного обеспечения или любого другого продукта. При работе с номерами версий в C++ может быть полезно сравнить две..

    В мир искусственного интеллекта…
    ИИ — это новое топливо в современном мире. Куда бы вы ни обратились, с кем бы вы ни разговаривали — они, как правило, упоминают об ИИ хотя бы раз в ходе разговора. ИИ гудит повсюду. У каждого..