Class: Dapp::DockerImage
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
included, #shellout, #shellout!
Constructor Details
#initialize(name:, from: nil) ⇒ DockerImage
Returns a new instance of DockerImage.
9
10
11
12
|
# File 'lib/dapp/docker_image.rb', line 9
def initialize(name:, from: nil)
@from = from
@name = name
end
|
Instance Attribute Details
#from ⇒ Object
Returns the value of attribute from.
6
7
8
|
# File 'lib/dapp/docker_image.rb', line 6
def from
@from
end
|
#name ⇒ Object
Returns the value of attribute name.
7
8
9
|
# File 'lib/dapp/docker_image.rb', line 7
def name
@name
end
|
Instance Method Details
#id ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/dapp/docker_image.rb', line 14
def id
@id || begin
unless (output = shellout!("docker images -q --no-trunc=true #{name}").stdout.strip).empty?
output
end
end
end
|
#info ⇒ Object
46
47
48
49
|
# File 'lib/dapp/docker_image.rb', line 46
def info
raise Error::Build, code: :image_not_exist, data: { name: name } unless tagged?
shellout!("docker inspect --format='{{.Created}} {{.Size}}' #{name}").stdout.strip.split
end
|
#pull!(log_verbose: false, log_time: false) ⇒ Object
32
33
34
35
36
|
# File 'lib/dapp/docker_image.rb', line 32
def pull!(log_verbose: false, log_time: false)
return if tagged?
shellout!("docker pull #{name}", log_verbose: log_verbose, log_time: log_time)
@pulled = true
end
|
#pulled? ⇒ Boolean
42
43
44
|
# File 'lib/dapp/docker_image.rb', line 42
def pulled?
!!@pulled
end
|
#push!(log_verbose: false, log_time: false) ⇒ Object
27
28
29
30
|
# File 'lib/dapp/docker_image.rb', line 27
def push!(log_verbose: false, log_time: false)
raise Error::Build, code: :image_not_exist, data: { name: name } unless tagged?
shellout!("docker push #{name}", log_verbose: log_verbose, log_time: log_time)
end
|
#tagged? ⇒ Boolean
38
39
40
|
# File 'lib/dapp/docker_image.rb', line 38
def tagged?
!!id
end
|
#untag! ⇒ Object
22
23
24
25
|
# File 'lib/dapp/docker_image.rb', line 22
def untag!
raise Error::Build, code: :image_already_untagged, data: { name: name } unless tagged?
shellout!("docker rmi #{name}")
end
|