diff --git a/mdocker b/mdocker new file mode 100755 index 00000000..120fcc65 --- /dev/null +++ b/mdocker @@ -0,0 +1,34 @@ +#!/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