Как я могу удаленно синхронизировать свой проект Flutter Serverpod на нескольких Mac?
Я создал проект Flutter Serverpod на MacBook Air M1. Затем я загрузил его на GitHub, и теперь у меня вопрос: всякий раз, когда я загружаю проект с GitHub на свой iMac(не на тот же хост-Mac). Я не нахожу контейнер моего проекта в Docker на этом Mac с тем же логином в настольном приложении Docker. Пожалуйста, помогите мне, как синхронизировать проект таким образом, чтобы я мог использовать его на нескольких Mac удаленно. Любая помощь высоко ценится.
Сначала я сделал проект на MacBook Air M1 и загрузил его на GitHub. теперь, когда я вхожу в систему с тем же идентификатором для настольного приложения Docker на другом Mac (iMac), я не нахожу тот же контейнер внутри Docker. Я также попробовал запустить свой сервер на iMac, и он вообще создал для меня новый контейнер, но он вообще не относится к основному контейнеру. Также я проверил Postico на наличие базы данных Postgres, но он также не содержит никаких таблиц или запросов, которые я делал ранее на MacBAir.
1 ответ
Вот как работает докер: на каждой машине есть свои экземпляры образов докера. Они не передаются между хостами, и данные никогда не синхронизируются. Контейнеры, как правило, предназначены для переносимости и сохранения состояния, поэтому они будут загружать тома, на которых вы храните постоянные данные, с хост-компьютера, на котором вы их запускаете.
На мой взгляд, скорее всего, разумнее просто воссоздать таблицы и данные в разных средах. Обычно я сохраняю гибкость своей среды разработки и ее легко сбрасывать/восстанавливать. Поэтому вместо этого я бы предпочел создать какой-нибудь скрипт для заполнения некоторых необходимых базовых данных, которые вы можете запустить, чтобы получить отправную точку.
Определения таблиц базы данных уже есть в вашем проекте serverpod, все, что вам нужно сделать, это запустить файлы pgsql в вашей базе данных. Вы найдете файлы pgsql в папке
При этом можно копировать данные между компьютерами, создав резервную копию тома, а затем отправить ее на другой компьютер и загрузить резервную копию в докер. Взгляните на этот ответ здесь. Официальная документация здесь.
Том, который вас интересует в Serverpod, обычно называется так: