我是Alfresco,在一个码头工作容器A上运行并在比如33333 上公开rmi。另一个普通的java服务在容器B上运行。两者都连接到同一个自定义桥接网络。
当容器B尝试使用url dynamic_casts
通过rmi连接到alfresco时,它会抛出rmi://alfresco:33333
。但同样能够java.net.MalformedURLException: invalid authority: rmi://alfresco:33333/Abcdefghi
露天。我认为rmi中给出的url格式是错误的。如果是这样。应该用什么代替?我已经尝试了ping
,alfresco
。但同样的错误仍然存在。
或者我在alfresco.abc
文件中遗漏了什么?
以下是两个撰写文件的示例配置。
Alfresco(容器A):
docker-compose
服务(容器B):
version: '3'
services:
alfresco:
image : xxxxxxx:latest
container_name : alfresco
expose:
- "33333"
ports:
- xxxx:xxxx
networks:
default:
external:
name: test
答案 0 :(得分:0)
找出原因。 RMI期待IP地址或有效域。由于alfresco
可通过服务发现获得并且ping识别它,因此RMI认为它是无效的URL。因此,我将以有效的url格式为alfresco主机提供别名。
我给了一个名为alfresco.local
的别名,现在它运行正常。
这是我为alfresco修改的Compose文件:
Alfresco(容器A)
version: '3'
services:
alfresco:
image : xxxxxxx:latest
container_name : alfresco
networks:
default:
aliases:
- alfresco.local #specify an alias in some valid DNS format
expose:
- "33333"
ports:
- xxxx:xxxx
networks:
default:
external:
name: test