Module: CIDE::Docker
Overview
Simple docker client helper
Defined Under Namespace
Classes: Error, VersionError
Class Method Summary collapse
-
.id(str) ⇒ Object
Generates a valid id for docker from any string.
Instance Method Summary collapse
- #docker(*args, verbose: false, capture: false) ⇒ Object
- #docker_image_ids(filter_by: false) ⇒ Object
Class Method Details
.id(str) ⇒ Object
Generates a valid id for docker from any string
7 8 9 |
# File 'lib/cide/docker.rb', line 7 def self.id(str) str.to_s.downcase.gsub(/[^a-z0-9\-_.]/, '_') end |
Instance Method Details
#docker(*args, verbose: false, capture: false) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cide/docker.rb', line 31 def docker(*args, verbose: false, capture: false) cmd = (['docker'] + args).map(&:to_s) p cmd if verbose if capture r, w = IO.pipe pid = Process.spawn(*cmd, out: w) w.close return r.read else pid = Process.spawn(*cmd) return 0 end ensure Process.wait(pid) exitstatus = $?.exitstatus raise Error, exitstatus if exitstatus > 0 end |
#docker_image_ids(filter_by: false) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/cide/docker.rb', line 22 def docker_image_ids(filter_by: false) args = ['--no-trunc'] args << ['--filter', filter_by] if filter_by lines = docker('images', *args, capture: true).lines[1..-1] lines .map { |line| line.split(/\s+/) } .map { |line| line[2] } end |