Sha256: 60d4f22e8d788003d9611e05bf5fcc0782a2c2399f70b15d9bbe9276afb99427
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module Docktor class DockerClient CONTAINER_NAME_PREFIX = "docktor_" def container_exists?(container) `docker ps -aqf name=#{container_name(container.name)}` != "" end def run(container) puts "docker run -d --name #{container_name(container.name)} #{parse_options(container.options)} #{container.image} #{container.command}" `docker run -d --name #{container_name(container.name)} #{parse_options(container.options)} #{container.image} #{container.command}` end def start(container) `docker start #{container_name(container.name)}` end def parse_options(options) options.map do |name, value| case name when :volumes then "-v #{value.join(" ")}" when :ports then "-p #{value.join(" ")}" when :links then "--link #{value.join(" ")}" value.map { |v| "--link #{container_name(v)}" }.join(" ") when :environment "-e #{value.map { |k, v| %(#{k}="#{v}") }.join(" ")}" end end.join(" ").strip end def container_name(name) CONTAINER_NAME_PREFIX + name end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
docktor-0.1.0 | lib/docktor/docker_client.rb |