diff --git a/plugins/providers/docker/cap/public_address.rb b/plugins/providers/docker/cap/public_address.rb new file mode 100644 index 000000000..379b0452b --- /dev/null +++ b/plugins/providers/docker/cap/public_address.rb @@ -0,0 +1,15 @@ +module VagrantPlugins + module DockerProvider + module Cap + module PublicAddress + def self.public_address(machine) + return nil if machine.state.id != :running + + ssh_info = machine.ssh_info + return nil if !ssh_info + ssh_info[:host] + end + end + end + end +end diff --git a/plugins/providers/docker/plugin.rb b/plugins/providers/docker/plugin.rb index 9e6c4f9c7..76abce9bb 100644 --- a/plugins/providers/docker/plugin.rb +++ b/plugins/providers/docker/plugin.rb @@ -28,6 +28,11 @@ module VagrantPlugins SyncedFolder end + provider_capability("docker", "public_address") do + require_relative "cap/public_address" + Cap::PublicAddress + end + protected def self.init!