-
Notifications
You must be signed in to change notification settings - Fork 64
Admiral cannot connect to remote docker host #284
Description
Hey,
Working on version 1.4.1 (both docker and jara deployments acting the same).
Basically what works:
- Connecting to docker daemon where admiral is running (same host)
What does not work:
- Connecting to any other docker host
Following error received from GUI:
Error connecting to http://iolive-docker-01.live.dionaws:4243: Unexpected error: No route to host: iolive-docker-01.live.dionaws/10.44.18.38:4243; Reason: {"message":"No route to host: iolive-docker-01.live.dionaws/10.44.18.38:4243","stackTrace":["sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)","sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)","io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:352)","io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)","io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)","io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)","io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)","io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)","io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)","java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)","java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)","java.lang.Thread.run(Thread.java:748)"],"statusCode":500,"details":["SHOULD_RETRY"],"documentKind":"com:vmware:xenon:common:ServiceErrorResponse","errorCode":0}
What is weird:
- curl -v http://some-other-host/ from container works (generally curl works for ports like 80,443, 8080, 8081)
- curl to anything non standard like curl -v http://some-other-host:4243/ does not work (No route to host)
Jar deployment works in same way - after startup it says No route to host on port 4243, but if I will configure some other docker daemon to listen on tcp://0.0.0.0:80 for example ... Admiral will connect.
On docker host firewalld and iptabes are disabled, other container don't have problem connecting to port like 4243 on other host (tested with curl /info), when jar deployment is up in same time on other console I can ran curl directly from host and will work.
Anyone have any idea what is going on there? Why Admiral seems to like only standard ports?
Newest stable docker, selinux disabled doker daemon running on default seccomp profile.
Running out of ideas here why some combination of <same_ip>: works and some <same_ip>: throwing No Route to host (how it is even possible if it got route to IP?)
Thanks
Dariusz