module DockerAlias

Constants

VERSION

Attributes

configuration[W]

Public Class Methods

build() click to toggle source
# File lib/docker_alias.rb, line 26
def self.build
  # 도커의 캐쉬가 명령어 기반이라서 해당 부분의 문자열을 바꿔주어 그 이후부터 캐쉬 이용하지 않도록함. https://github.com/dotcloud/docker/issues/1996
  cache_key = configuration.cache_buster_key
  cache_buster_cmd = "sed -i '' s/#{cache_key}[0-9]*/#{cache_key}#{Time.now.to_i}/g Dockerfile"
  system(cache_buster_cmd)
  system("docker build --force-rm -t #{configuration.build_name} .")
end
configuration() click to toggle source
# File lib/docker_alias.rb, line 18
def self.configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/docker_alias.rb, line 22
def self.configure
  yield(configuration)
end
console() click to toggle source
# File lib/docker_alias.rb, line 38
def self.console
  "docker run -i -t --rm #{options} #{build_name}"
end
push() click to toggle source
# File lib/docker_alias.rb, line 34
def self.push
  system("docker push #{configuration.build_name}")
end

Private Class Methods

build_name() click to toggle source
# File lib/docker_alias.rb, line 43
def self.build_name
  DockerAlias.configuration.build_name
end
options() click to toggle source
# File lib/docker_alias.rb, line 51
def self.options
  options = []
  options << DockerAlias.configuration.options
  options << DockerAlias.configuration.enviroments
  options << DockerAlias.configuration.port_maps
  options.reject{ |x| x.nil? || x.empty? || x.length == 0 }.join(" ")
end
run_name() click to toggle source
# File lib/docker_alias.rb, line 47
def self.run_name
  DockerAlias.configuration.build_name.tr('/:', '_')
end