Class: Inspec::Resources::DockerContainer

Inherits:
Object
  • Object
show all
Includes:
DockerObject
Defined in:
lib/resources/docker_container.rb

Instance Method Summary collapse

Methods included from DockerObject

#exist?, #id

Constructor Details

#initialize(opts = {}) ⇒ DockerContainer

Returns a new instance of DockerContainer.



33
34
35
36
37
38
39
40
# File 'lib/resources/docker_container.rb', line 33

def initialize(opts = {})
  # if a string is provided, we expect it is the name
  if opts.is_a?(String)
    @opts = { name: opts }
  else
    @opts = opts
  end
end

Instance Method Details

#commandObject



58
59
60
61
62
63
# File 'lib/resources/docker_container.rb', line 58

def command
  return unless object_info.entries.length == 1

  cmd = object_info.commands[0]
  cmd.slice(1, cmd.length - 2)
end

#imageObject



65
66
67
# File 'lib/resources/docker_container.rb', line 65

def image
  object_info.images[0] if object_info.entries.length == 1
end

#labelsObject



50
51
52
# File 'lib/resources/docker_container.rb', line 50

def labels
  object_info.labels
end

#portsObject



54
55
56
# File 'lib/resources/docker_container.rb', line 54

def ports
  object_info.ports[0] if object_info.entries.length == 1
end

#repoObject



69
70
71
# File 'lib/resources/docker_container.rb', line 69

def repo
  parse_components_from_image(image)[:repo] if object_info.entries.size == 1
end

#running?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/resources/docker_container.rb', line 42

def running?
  status.downcase.start_with?('up') if object_info.entries.length == 1
end

#statusObject



46
47
48
# File 'lib/resources/docker_container.rb', line 46

def status
  object_info.status[0] if object_info.entries.length == 1
end

#tagObject



73
74
75
# File 'lib/resources/docker_container.rb', line 73

def tag
  parse_components_from_image(image)[:tag] if object_info.entries.size == 1
end

#to_sObject



77
78
79
80
# File 'lib/resources/docker_container.rb', line 77

def to_s
  name = @opts[:name] || @opts[:id]
  "Docker Container #{name}"
end