Docker主机rmi抛出无效权限但能够ping

时间:2018-06-03 17:08:58

标签: java docker docker-compose alfresco

我是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格式是错误的。如果是这样。应该用什么代替?我已经尝试了pingalfresco。但同样的错误仍然存​​在。

或者我在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

1 个答案:

答案 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