Move from standalone container to separate web and data containers

tl;dr: возможно, стоит попробовать

docker exec -it web_only bash
chown  -R discourse:www-data /shared/backups

И ещё немного слов.

Не глядя, я бы следующим шагом попробовал пересобрать контейнер данных, надеясь, что любые внесённые изменения также затронули (или повлияли на) контейнер данных.

Плохой совет — сделать ...backups/default доступным для записи всем и проверить владельца резервной копии.

Так что, думаю, вам нужно изменить владельца директории default на discourse.www-data в контейнере web (именно он выполняет резервное копирование).

Вот пример недавнего одноконтейнерного решения:

root@forum.mbse-capella.org(app):~$ docker exec -it app  bash
root@new-app:/# grep www /etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
root@new-app:/# grep discourse /etc/passwd
discourse:x:1000:1000::/home/discourse:/bin/bash

Раньше процесс сборки выполнял chown для всех файлов, но это могло занимать очень много времени, поэтому, возможно, эту операцию убрали (это скорее предположение, чем результат внимательного изучения коммитов).

1 лайк