Всё отдельно, для постоянных данных монтируете том (volume), который используете между перезапусками.
У меня есть пример целого набора контейнеров для PHP, но там нет PostgreSQL, если будете добры добавить - будет здорово, но как пример и так сойдет: https://github.com/nazar-pc/docker-webserver
На замену отдельному дата-контейнеру пришли named volumes. А на замену link - network port mapping. В документации так и написано "legacy link feature".
gto6120: Не совсем перешли, поскольку никаких планов по удалению этой фичи из Docker пока нет. Для инсталляции на одном сервере гораздо проще использовать именно то, что указано в репозитории. Действий меньше, результат тот же. Сами же контейнеры не привязаны к этому, будут работать и без линков, и с named volumes.
Ну по идее это в духе проекта на докере, он должен быть "всегда готов" к горизонтальному масштабированию. Хотя я конечно не эксперт, просто 3 дня уже читаю всю документацию по нему, какую вижу))
gto6120: Если я поднял для себя лично Nextcloud или сайтик на WP, то закладывать масштабирование в docker-compose.yml смысла не вижу. Сами же образы контейнеров, как я и говорил, масштабируются без проблем.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.