vagrant/plugins/providers/docker/cap/public_address.rb

24 lines
683 B
Ruby

module VagrantPlugins
module DockerProvider
module Cap
module PublicAddress
def self.public_address(machine)
return nil if machine.state.id != :running
# If we're using a host VM, then return the IP of that
# rather than of our own machine.
if machine.provider.host_vm?
host_machine = machine.provider.host_vm
return nil if !host_machine.provider.capability?(:public_address)
return host_machine.provider.capability(:public_address)
end
ssh_info = machine.ssh_info
return nil if !ssh_info
ssh_info[:host]
end
end
end
end
end