Class: Conjure::Provision::Docker::Host
- Inherits:
-
Object
- Object
- Conjure::Provision::Docker::Host
- Defined in:
- lib/conjure/provision/docker/host.rb
Instance Method Summary collapse
- #built_image_name(dockerfile_directory) ⇒ Object
- #container_ip_address(container_id) ⇒ Object
-
#initialize(platform) ⇒ Host
constructor
A new instance of Host.
- #started_container_id(image_name, daemon_command, run_options = nil) ⇒ Object
Constructor Details
#initialize(platform) ⇒ Host
Returns a new instance of Host.
5 6 7 |
# File 'lib/conjure/provision/docker/host.rb', line 5 def initialize(platform) @platform = platform end |
Instance Method Details
#built_image_name(dockerfile_directory) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/conjure/provision/docker/host.rb', line 9 def built_image_name(dockerfile_directory) result = @platform.with_directory(dockerfile_directory) do |remote_dir| @platform.run "docker build #{remote_dir}" end if match = result.match(/Successfully built ([0-9a-z]+)/) match[1] else raise "Failed to build Docker image, output was #{result}" end end |
#container_ip_address(container_id) ⇒ Object
25 26 27 28 |
# File 'lib/conjure/provision/docker/host.rb', line 25 def container_ip_address(container_id) format = "{{ .NetworkSettings.IPAddress }}" @platform.run("docker inspect --format '#{format}' #{container_id}").strip end |
#started_container_id(image_name, daemon_command, run_options = nil) ⇒ Object
20 21 22 23 |
# File 'lib/conjure/provision/docker/host.rb', line 20 def started_container_id(image_name, daemon_command, = nil) = "-d #{.to_s} #{image_name} #{daemon_command}" @platform.run("docker run #{}").strip end |