出于测试的目的,我想在J弹性环境中安装联机协作。
我试图遵循以下基本步骤:https://www.collaboraoffice.com/code/quick-tryout-nextcloud-docker/
首先,我使用链接中给出的docker映像配置拓扑。

在我转到给定的URL之后,成功地安装了下一个云。
然后,如说明中所述,添加变量extra_params=--o:ssl.enable=false:

然后,通过添加一个端点来映射端口:

它将端口9980与公共端口11010进行映射。
因此,最后,我在nextCloud上安装了协作应用程序,并在专用协作设置页面上配置了协作服务器url:
jelastic-node-ndd.com:11010
当我试图打开一个开放的办公室文档时,我收到了这样的信息:
Failed to load Collabora Online - please try again later
我不知道怎么调查。当我试图用给定的端口到达我兄弟上的协作服务器时,我得到了一个连接失败的错误。
发布于 2019-05-14 15:10:40
我们认为这个问题的主要原因是端口映射在您的情况下不起作用。换句话说,telnet $(hostname) 11010说容器内的“连接被拒绝”,因为映射只在因特网上正确工作。
通过添加外部IP可以很容易地克服这一问题。因此,在“联机协作”的设置中,您必须指定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可以保留为jelastic-node-ndd.com:11010
除此之外,您还可以面对描述为这里的问题
我们能够使用文章设置和配置code/code Docker映像 (直接使用配置文件)解决这个问题。在将loolwsd.xml处理回坞(步骤3)之前,您可能需要对此文件进行chmod:
chmod 666 loolwsd.xml注意:最好在--restart always的步骤5中指定附加参数与Nextcloud码头的快速试用
变量DOCKER_EXPOSE_PORT应保持不变(80)
extra_params=--o:ssl.enable=false是协作/代码的一个变量,因此不需要在变量中指定它
https://stackoverflow.com/questions/56020031
复制相似问题