Class: Conjure::Provision::Docker::Host

Inherits:
Object
  • Object
show all
Defined in:
lib/conjure/provision/docker/host.rb

Instance Method Summary collapse

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, run_options = nil)
  all_options = "-d #{run_options.to_s} #{image_name} #{daemon_command}"
  @platform.run("docker run #{all_options}").strip
end