From d705c48ef3e014f1be2e7de8b4052ac48fbc9a89 Mon Sep 17 00:00:00 2001 From: Fabio Rehm Date: Thu, 27 Mar 2014 21:10:48 -0300 Subject: [PATCH] providers/docker: Implement public_address capability for `vagrant share` --- plugins/providers/docker/cap/public_address.rb | 15 +++++++++++++++ plugins/providers/docker/plugin.rb | 5 +++++ 2 files changed, 20 insertions(+) create mode 100644 plugins/providers/docker/cap/public_address.rb 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!