Мы считаем, что главная причина проблемы в том, что в вашем случае не работает сопоставление портов.Другими словами, telnet $(hostname) 11010
говорит «отказано в соединении» внутри контейнера, поскольку отображение работает корректно только из Интернета.
Эту проблему можно легко устранить, добавив Внешний IP.Итак, в настройках «Collabora online» необходимо указать URL http://EXT.IP:9980
и удалить сопоставление.
Еще один способ - это хитрость сопоставления.В этом случае вы можете оставить только внутренний IP и сделать сопоставление, как сделали.Затем отредактируйте отображение и укажите Частный порт , равный Общий порт
Далее, внутри контейнера добавьте правило NAT, например:
iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 11010 -j DNAT --to-destination 172.21.0.2:9980
Где11010
- ваш порт отображения.172.21.0.2
- IP-адрес, который вы получаете при выполнении iptables -L DOCKER -vnt nat
Таким образом, цепочка DOCKER должна выглядеть следующим образом:
root@node210795-nextcloud-test:~# iptables -L DOCKER -vnt nat
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
19 1140 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
106 6360 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9980 to:172.21.0.2:9980
55 3300 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11031 to:172.21.0.2:9980
В результате, сетевой URL-адрес Collabora в вашем случае можно оставить какjelastic-node-ndd.com:11010
Кроме того, вы можете столкнуться с проблемой, описанной здесь
Мы смогли решить эту проблему, используя статью Настройка и настройка совместной работы /Код Docker image (используйте файл конфигурации напрямую).Перед тем, как скопировать loolwsd.xml обратно в Docker (шаг 3), вам может потребоваться изменить этот файл:
chmod 666 loolwsd.xml
Примечание. В шаге 5 из лучше указать дополнительный параметр --restart always
.Доклер Nextcloud
Переменная DOCKER_EXPOSE_PORT
должна быть оставлена без изменений (80)
extra_params=--o:ssl.enable=false
- это переменная типа сотрудник / код, поэтому нет необходимости указывать ее в Переменные