Method: Docker::Compose::NetInfo#docker_routable_ip

Defined in:
lib/docker/compose/net_info.rb

#docker_routable_ipString

Figure out the likely IP address of the host pointed to by self.docker_url.

Returns:

  • (String)

    host-reachable IPv4 address of docker host



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/docker/compose/net_info.rb', line 70

def docker_routable_ip
  case @docker_url.scheme
  when 'tcp', 'http', 'https'
    docker_dns = @docker_url.host
    docker_port = @docker_url.port || 2376
  else
    # Cheap trick: for unix, file or other protocols, assume docker ports
    # are proxied to localhost in addition to other interfaces
    docker_dns = 'localhost'
    docker_port = 2376
  end

  addr = Addrinfo.getaddrinfo(
    docker_dns, docker_port,
    Socket::AF_INET, Socket::SOCK_STREAM).first

  addr && addr.ip_address
end