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 +4 -4
- data/README.md +22 -0
- data/lib/docker.rb +10 -9
- data/lib/docker/rake_task.rb +30 -0
- data/lib/docker/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: edade4b46130ae53c3aac96bed39d36b75458ee8
|
4
|
+
data.tar.gz: c3c9cbbac2ba8dd1341fbd6c3d880f0bad2c07f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/docker.rb
CHANGED
@@ -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
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
data/lib/docker/version.rb
CHANGED
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.
|
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-
|
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
|