Я знаю, что, вероятно, есть много способов сделать это.То, что я ищу, это способ сделать это, используя (предпочтительно) только мой DockerFile и один контейнер.
Вот мой текущий dockerfile:
FROM postgres:latest
ENV POSTGRES_USER=myuser
ENV POSTGRES_PASSWORD=mypassword
Вот команда, которую я использовал дляпостроить этот контейнер:
docker built -t my_db .
И вот команда, которую я использую для запуска контейнера:
docker run -p 5432:5432 my_db
Я хотел бы, чтобы данные сохранялись в контейнере, есливозможно, но я не понимаю, как или где Postgres хранит свои данные.В другом сообщении о переполнении стека я видел, что postgres будет хранить его по умолчанию в / var / lib / postgresql / data, однако, когда я смотрю в эту папку, я ничего не вижу.Однако я могу убедиться, что postgres работает, потому что я использую клиент под названием teamSQL, и из этого клиента я могу создавать таблицы и вставлять / читать данные.
Я также могу убедиться, что когда я остановлю контейнер и перезапущу данныеопределенно не сохраняется.
Примечание: это работает в OSx, но я не думаю, что это актуально.