Module: OdaniaOps::Helper::Docker

Defined in:
lib/odania_ops/helper/docker.rb

Class Method Summary collapse

Class Method Details

.image_tags(image) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/odania_ops/helper/docker.rb', line 5

def image_tags(image)
	return OdaniaOps::Helper::Aws.tags(image) if $config['docker']['use_aws']

	code, data = get("/#{image}/tags/list")
	return [] unless 200.eql? code
	data['tags']
end

.loginObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/odania_ops/helper/docker.rb', line 23

def 
	data = $config['docker']
	return if data['no_login']

	if $config['docker']['use_aws']
		username, password = OdaniaOps::Helper::Aws.
	else
		username = data['user']
		password = data['password']
	end

	$logger.info "Login in to private registry #{registry_name}"
	OdaniaOps::Helper::Shell.execute("docker login --username=#{username} --password=\"#{password}\" #{registry_url}")
end

.push(image_name, tag = nil) ⇒ Object



18
19
20
21
# File 'lib/odania_ops/helper/docker.rb', line 18

def push(image_name, tag=nil)
	tag = ":#{tag}" unless tag.nil? or tag.empty?
	OdaniaOps::Helper::Shell.execute("docker push #{registry_name}/#{image_name}#{tag}")
end

.registry_nameObject



38
39
40
41
# File 'lib/odania_ops/helper/docker.rb', line 38

def registry_name
	uri = URI.parse $config['docker']['url']
	uri.host
end

.remote_tag(image_name_and_tag, target_image_name_and_tag = nil) ⇒ Object



13
14
15
16
# File 'lib/odania_ops/helper/docker.rb', line 13

def remote_tag(image_name_and_tag, target_image_name_and_tag=nil)
	target_image_name_and_tag = image_name_and_tag if target_image_name_and_tag.nil?
	OdaniaOps::Helper::Shell.execute("docker tag #{image_name_and_tag} #{registry_name}/#{target_image_name_and_tag}")
end