Class: Ufo::Docker

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

Defined Under Namespace

Classes: Builder, Cleaner, Compiler, Dockerfile, Pusher, Variables

Instance Method Summary collapse

Methods inherited from Command

alter_command_description, command_help, dispatch, website

Instance Method Details

#baseObject



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

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



6
7
8
9
10
# File 'lib/ufo/docker.rb', line 6

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

#clean(image_name) ⇒ Object



55
56
57
# File 'lib/ufo/docker.rb', line 55

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

#compileObject



14
15
16
17
# File 'lib/ufo/docker.rb', line 14

def compile
  builder = Docker::Builder.new(options)
  builder.compile
end

#nameObject



46
47
48
49
# File 'lib/ufo/docker.rb', line 46

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

#push(full_image_name = nil) ⇒ Object



22
23
24
25
26
# File 'lib/ufo/docker.rb', line 22

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