diff --git a/src/dockerl_utils.erl b/src/dockerl_utils.erl
index 935d312eef0d9229a17f486e68d3c37e1bb88f43..661c33928f07ccbb598491aa25fd9c91388d9fca 100644
--- a/src/dockerl_utils.erl
+++ b/src/dockerl_utils.erl
@@ -1,7 +1,29 @@
 -module(dockerl_utils).
 
+-export([get_gateway/2]).
+-export([get_ip_address/2]).
 -export([get_ports/2]).
 
+get_gateway(ServerRef, Id) ->
+    case dockerl:inspect_container(ServerRef, Id) of
+        {ok, #{<<"NetworkSettings">> := #{<<"Gateway">> := Gateway}}} ->
+            inet:parse_address(binary_to_list(Gateway));
+        {ok, _} ->
+            {error, no_ip_address};
+        Error ->
+            Error
+    end.
+
+get_ip_address(ServerRef, Id) ->
+    case dockerl:inspect_container(ServerRef, Id) of
+        {ok, #{<<"NetworkSettings">> := #{<<"IPAddress">> := IPAddress}}} ->
+            inet:parse_address(binary_to_list(IPAddress));
+        {ok, _} ->
+            {error, no_ip_address};
+        Error ->
+            Error
+    end.
+
 get_ports(ServerRef, Id) ->
     case dockerl:inspect_container(ServerRef, Id) of
         {ok, #{<<"NetworkSettings">> := #{<<"Ports">> := Ports}}} ->
@@ -25,4 +47,3 @@ get_ports(ServerRef, Id) ->
         Error ->
             Error
     end.
-
diff --git a/test/dockerl_test.erl b/test/dockerl_test.erl
index 4a8bf6d213e9f75b299f3ea014f7d0d09b081788..02f3f9e59292707391e85ce6d93b74a1598fb10e 100644
--- a/test/dockerl_test.erl
+++ b/test/dockerl_test.erl
@@ -63,8 +63,9 @@ start_container(Pid, Name) ->
 query_container(Pid, Id) ->
     fun() ->
         timer:sleep(3000),
-        {ok, #{<<"80/tcp">> := [{Address, Port}]}} = dockerl_utils:get_ports(Pid, Id),
-        lager:debug("Using port: ~p", [Port]),
+        {ok, Address} = dockerl_utils:get_ip_address(Pid, Id),
+        {ok, #{<<"80/tcp">> := [{_, Port}]}} = dockerl_utils:get_ports(Pid, Id),
+        lager:debug("Using port ~p:~p", [Address, Port]),
         spawn(fun() -> send_request(Address, Port) end),
         {ok, Stream} = dockerl:container_logs(Pid, Id),
         ?assertEqual(ok, match_logs(Stream, <<"eunit">>, 1))