I'm pulling data from an API and populating Janusgraph DB running in the docker container per the installation site:
docker run --name janusgraph-default janusgraph/janusgraph:latest
The python script I'm using worked well at first, but won't connect at all now. I've removed and recreated the container. The error is:
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host localhost:8182 ssl:default [Connect call failed ('::1', 8182, 0, 0)]
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x1118d2f70>
I tried opening a python console to manually connect:
import gremlin_python.driver.serializer as srl
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
from gremlin_python.process.anonymous_traversal import traversal
remote_conn = DriverRemoteConnection('ws://localhost:8182/gremlin', 'g', message_serializer=srl.GraphSONSerializersV3d0())
g = traversal().with_remote(remote_conn)
g.V().toList()
The result is the same as above.
I'm sure the container's port 8182 is not correctly mapped to your host. You didn't expose the port with this command:
docker run --name janusgraph-default janusgraph/janusgraph:latest
To see the port mappings, showing the container's ports and the corresponding host ports, run:
docker port janusgraph-default
You can specify the port using this command:
docker run --name janusgraph-default -p 8182:8182 janusgraph/janusgraph:latest
NOTE: I assumed that you are trying to connect from your host (with the Python script) to the container (janusgraph-default). Please clarify this in your question if I am wrong.
Docker doc: Published ports.