Files
mozo-backend/mdocker
T
2015-02-11 17:41:10 +01:00

35 lines
1.0 KiB
Ruby
Executable File

#!/usr/bin/env ruby
require 'pry'
require 'yaml'
require 'active_support/all'
shared_dir = Pathname.new File.expand_path('../../', __FILE__)
prefix = "mozo_"
containers = YAML.load <<-YML.strip_heredoc
drb_counter:
directory: drb_counter
port: 9022
faye:
directory: faye
port: 9296
YML
container_names = containers.keys.map{|c| [prefix, c].join }
#container_name_list = container_names.join(' ')
#REBUILD
containers.each do |name, settings|
`docker build -t #{prefix}#{name} #{settings['directory']}`
end
running_containers = `docker ps -q #{container_names.map{|cname| "-f name=#{cname}" }.join(' ')}`.to_s.strip.split(/\s+/)
`docker stop #{running_containers.join(' ')}` if running_containers.any?
existing_containers = `docker ps -a -q #{container_names.map{|cname| "-f name=#{cname}" }.join(' ')}`.to_s.strip.split(/\s+/)
`docker rm #{existing_containers.join(' ')}` if existing_containers.any?
# RUN THE CONTAINERS
containers.each do |name, settings|
`docker run -d --net=host --restart=always --name=#{prefix}#{name} #{prefix}#{name}`
end