docker-api 1.9.0 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b70bfc4fd881c989f413056ad18ce1165966abe1
4
- data.tar.gz: 110f62598c550dc8d9173dbcbfe71c92e514ecf4
3
+ metadata.gz: edade4b46130ae53c3aac96bed39d36b75458ee8
4
+ data.tar.gz: c3c9cbbac2ba8dd1341fbd6c3d880f0bad2c07f8
5
5
  SHA512:
6
- metadata.gz: 61f23c630f3d5473f2b8e18c29fad771010bb69c6b3d0e027b632bba12bcf45efe1553c7905409a7e72b3f61168c26424e4f02d7b87d181593279932650a41ae
7
- data.tar.gz: 7d32ffe97ef06302cfdd49a67dfe0cd11989cba29b297341f5d44bcaf51584f2d6ef73c5bb7bb4acc89fe06fdd9f4a16a8449e1ced4bb469766648ad75bee790
6
+ metadata.gz: a44e1785d0b9211ed4a90713cdf21de767333c7c0b2f14c8a3fb8512cae66606365d152ead59a050a16d4862a4b8d411fd1fcfec305c93d14264cb2198bcb9da
7
+ data.tar.gz: 82e5fcdc52be6a81fae97b8b191f94faade6e94dcb330dacfe74c8498511e7882f6e7dc1d484187d27c96cd2762b509758ebd589fc15dea05b6dc8a507e61eb9
data/README.md CHANGED
@@ -269,5 +269,27 @@ require 'docker'
269
269
  Docker::Container.all({}, Docker::Connection.new('http://example.com:4243', {}))
270
270
  ```
271
271
 
272
+ ## Rake Task
273
+
274
+ To create images through `rake`, a DSL task is provided. For example:
275
+
276
+
277
+ ```ruby
278
+ require 'rake'
279
+ require 'docker'
280
+
281
+ image 'repo:tag' do
282
+ image = Docker::Image.create('fromImage' => 'repo', 'tag' => 'old_tag')
283
+ image = Docker::Image.run('rm -rf /etc').commit
284
+ image.tag('repo' => 'repo', 'tag' => 'tag')
285
+ end
286
+
287
+ image 'repo:new_tag' => 'repo:tag' do
288
+ image = Docker::Image.create('fromImage' => 'repo', 'tag' => 'tag')
289
+ image = image.insert_local('localPath' => 'some-file.tar.gz', 'outputPath' => '/')
290
+ image.tag('repo' => 'repo', 'tag' => 'new_tag')
291
+ end
292
+ ```
293
+
272
294
  ## Known Issues
273
295
  - `Docker::Container#attach` cannot attach to STDIN
@@ -6,21 +6,22 @@ require 'base64'
6
6
  require 'rubygems/package'
7
7
  require 'archive/tar/minitar'
8
8
  require 'uri'
9
- require 'docker/version'
10
9
 
11
10
  # The top-level module for this gem. It's purpose is to hold global
12
11
  # configuration variables that are used as defaults in other classes.
13
12
  module Docker
14
13
  attr_accessor :creds, :logger
15
14
 
16
- autoload :Connection, 'docker/connection'
17
- autoload :Container, 'docker/container'
18
- autoload :Error, 'docker/error'
19
- autoload :Event, 'docker/event'
20
- autoload :Image, 'docker/image'
21
- autoload :Messages, 'docker/messages'
22
- autoload :Util, 'docker/util'
23
- autoload :Base, 'docker/base'
15
+ require 'docker/error'
16
+ require 'docker/connection'
17
+ require 'docker/base'
18
+ require 'docker/container'
19
+ require 'docker/event'
20
+ require 'docker/image'
21
+ require 'docker/messages'
22
+ require 'docker/util'
23
+ require 'docker/version'
24
+ require 'docker/rake_task' if defined?(Rake)
24
25
 
25
26
  def default_socket_url
26
27
  'unix:///var/run/docker.sock'
@@ -0,0 +1,30 @@
1
+ require 'rake'
2
+ require 'docker'
3
+
4
+ # This class allows image-based tasks to be created.
5
+ class Docker::ImageTask
6
+ def needed?
7
+ Docker::Image.all(:all => true).any? { |image|
8
+ image['RepoTags'].include?(repo_tag)
9
+ }
10
+ end
11
+
12
+ def repo
13
+ name.split(':')[0]
14
+ end
15
+
16
+ def tag
17
+ name.split(':')[1] || 'latest'
18
+ end
19
+
20
+ def repo_tag
21
+ "#{repo}:#{tag}"
22
+ end
23
+ end
24
+
25
+ # Monkey patch Rake::DSL to add the `image` method.
26
+ module Rake::DSL
27
+ def image(*args, &block)
28
+ Docker::ImageTask.define_task(*args, &block)
29
+ end
30
+ end
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  # The version of the docker-api gem.
3
- VERSION = '1.9.0'
3
+ VERSION = '1.9.1'
4
4
 
5
5
  # The version of the compatible Docker remote API.
6
6
  API_VERSION = '1.9'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swipely, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-06 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -161,6 +161,7 @@ files:
161
161
  - lib/docker/event.rb
162
162
  - lib/docker/image.rb
163
163
  - lib/docker/messages.rb
164
+ - lib/docker/rake_task.rb
164
165
  - lib/docker/util.rb
165
166
  - lib/docker/version.rb
166
167
  - spec/docker/connection_spec.rb