Class: Pygmy::Traefik
Class Method Summary
collapse
container_exists?, delete, has_docker_client?, ps, pull, running?, start, start_cmd, stop
Class Method Details
.connect ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/pygmy/traefik.rb', line 27
def self.connect
unless self.connected?
unless Sh.run_command(self.connect_cmd).success?
raise RuntimeError.new(
"Failed to connect #{self.container_name} to #{self.network_name}. Command #{self.connect_cmd} failed"
)
end
end
self.connected?
end
|
.connect_cmd ⇒ Object
19
20
21
|
# File 'lib/pygmy/traefik.rb', line 19
def self.connect_cmd
"docker network connect #{self.network_name} #{self.container_name}"
end
|
.container_name ⇒ Object
11
12
13
|
# File 'lib/pygmy/traefik.rb', line 11
def self.container_name
'traefik.docker.amazee.io'
end
|
.image_name ⇒ Object
7
8
9
|
# File 'lib/pygmy/traefik.rb', line 7
def self.image_name
'containous/traefik'
end
|
.network_name ⇒ Object
15
16
17
|
# File 'lib/pygmy/traefik.rb', line 15
def self.network_name
'amazeeio-network'
end
|
.run_cmd ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/pygmy/traefik.rb', line 38
def self.run_cmd
"docker run -d " \
"-p 80:80 -p 8080:8080 -p 443:443 " \
"--restart always " \
"--volume=/var/run/docker.sock:/var/run/docker.sock " \
"--name=#{Shellwords.escape(self.container_name)} " \
"--label traefik.frontend.rule=Host:#{Shellwords.escape(self.container_name)} " \
"#{Shellwords.escape(self.image_name)} " \
"--api --docker " \
'--docker.network=amazeeio-network ' \
"--docker.domain=docker.amazee.io"
end
|