class DockerRailsProxy::Build
Attributes
options[RW]
Public Instance Methods
process()
click to toggle source
# File lib/docker_rails_proxy/commands/build.rb, line 38 def process system <<-EOS docker build \ -f '#{options[:dockerfile]}' \ -t '#{options[:tag]}' \ #{build_args} \ '#{options[:context]}' EOS end
Private Instance Methods
build_args()
click to toggle source
# File lib/docker_rails_proxy/commands/build.rb, line 50 def build_args options[:build_args].map do |k, v| "--build-arg #{k.upcase}='#{v.strip}'" end.join(' ') end
opt_parser()
click to toggle source
# File lib/docker_rails_proxy/commands/build.rb, line 64 def opt_parser @opt_parser ||= OptionParser.new do |opts| opts.banner = "Usage: bin/#{APP_NAME} build [options]" opts.on('--dockerfile DOCKERFILE', 'Dockerfile') do |dockerfile| options[:dockerfile] = dockerfile end opts.on('--context [CONTEXT]', 'Docker build context') do |context| options[:context] = context end opts.on('--tag TAG', 'Docker Image Tag') { |tag| options[:tag] = tag } opts.on('--build-args A=val,B=val...', Array, 'Docker build-args') do |o| options[:build_args] = Hash[o.map { |s| s.split('=', 2) }] end opts.on('-h', '--help', 'Display this screen') do puts opts exit end end end
parse_options!()
click to toggle source
# File lib/docker_rails_proxy/commands/build.rb, line 60 def parse_options! opt_parser.parse!(arguments) end
set_defaults()
click to toggle source
# File lib/docker_rails_proxy/commands/build.rb, line 56 def set_defaults options[:context] ||= File.dirname(options[:dockerfile]) end