Class: Ufo::Docker

Inherits:
Command show all
Defined in:
lib/ufo/docker.rb,
lib/ufo/docker/pusher.rb,
lib/ufo/docker/builder.rb

Defined Under Namespace

Classes: Builder, Cleaner, Dockerfile, Pusher

Instance Method Summary collapse

Methods inherited from Command

dispatch

Instance Method Details

#baseObject



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ufo/docker.rb', line 29

def base
  builder = Docker::Builder.new(options.dup.merge(
    image_namespace: "base",
    dockerfile: "Dockerfile.base"
  ))
  builder.build
  builder.push if options[:push]
  builder.update_dockerfile
  Docker::Cleaner.new(builder.image_name, options.merge(tag_prefix: "base")).cleanup
  Ecr::Cleaner.new(builder.image_name, options.merge(tag_prefix: "base")).cleanup
end

#buildObject



11
12
13
14
15
# File 'lib/ufo/docker.rb', line 11

def build
  builder = Docker::Builder.new(options)
  builder.build
  push if options[:push]
end

#clean(image_name) ⇒ Object



53
54
55
# File 'lib/ufo/docker.rb', line 53

def clean(image_name)
  Docker::Cleaner.new(image_name, options).cleanup
end

#nameObject



44
45
46
47
# File 'lib/ufo/docker.rb', line 44

def name
  full_image_name = Docker::Builder.new(options).full_image_name
  puts full_image_name
end

#push(full_image_name = nil) ⇒ Object



20
21
22
23
24
# File 'lib/ufo/docker.rb', line 20

def push(full_image_name=nil)
  # full_image_name of nil results in defaulting to the last built image by ufo docker build
  pusher = Docker::Pusher.new(full_image_name, options)
  pusher.push
end