dockit 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Dockerfile +2 -2
- data/VERSION +1 -1
- data/lib/dockit.rb +1 -0
- data/lib/dockit/cli.rb +12 -16
- data/lib/dockit/container.rb +1 -0
- data/lib/dockit/image.rb +1 -0
- data/lib/dockit/volume.rb +35 -0
- 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: bfb9ef80e217d354aa287ad542609c0087e524e1
|
4
|
+
data.tar.gz: 774710fc1021b62bd9407bbe0a6b2bfa08ce2d7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f180dd8963035ae2c04a69cbd250858e033ec3f4a08686e2c183e0d00e822e401e644402b57b1ee4cd5fdb40041c1ff5fd9ade8bcb8368921491c96e16a7a00
|
7
|
+
data.tar.gz: 3427bdcdcc63635f24fd11c3aba574d612472918117d1fc3e8a22dcd8426dc163bb220bbcfda9469db23558f74984195c84cebde27ff1bcff261c1829617b941
|
data/Dockerfile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
FROM cybercode/alpine-ruby
|
2
|
-
ENV DOCKER_VERSION=1.8.
|
1
|
+
FROM cybercode/alpine-ruby
|
2
|
+
ENV DOCKER_VERSION=1.8.3 BIN=/usr/local/bin/docker
|
3
3
|
|
4
4
|
RUN apk add -u curl ruby-json && curl -sSL -o $BIN \
|
5
5
|
https://get.docker.com/builds/Linux/x86_64/docker-$DOCKER_VERSION \
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/dockit.rb
CHANGED
data/lib/dockit/cli.rb
CHANGED
@@ -116,15 +116,19 @@ class Default < Thor
|
|
116
116
|
end
|
117
117
|
|
118
118
|
desc "cleanup", "Remove unused containers and images"
|
119
|
-
option :images
|
120
|
-
option :containers
|
121
|
-
option :
|
119
|
+
option :images , type: :boolean, default: true , desc: "remove danging images"
|
120
|
+
option :containers, type: :boolean, default: true , desc: "remove exited containers"
|
121
|
+
option :volumes , type: :boolean, default: true , desc: 'remove dangling volumes'
|
122
|
+
option :force , type: :boolean, default: false, desc: "stop and remove all"
|
122
123
|
def cleanup
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
124
|
+
force = options[:force]
|
125
|
+
Dockit::Container.clean(force: force) if options[:containers]
|
126
|
+
Dockit::Image.clean(force: force) if options[:images]
|
127
|
+
|
128
|
+
if options[:volumes] && Docker.version['ApiVersion'].to_f >= 1.21
|
129
|
+
Dockit::Volume.clean
|
130
|
+
else
|
131
|
+
say "Volumes not supported on API versions < 1.21", :red
|
128
132
|
end
|
129
133
|
end
|
130
134
|
|
@@ -196,14 +200,6 @@ class Default < Thor
|
|
196
200
|
end
|
197
201
|
end
|
198
202
|
|
199
|
-
def ask_force(type)
|
200
|
-
force = options[:force]
|
201
|
-
say "Removing #{force ? 'ALL' : ''} #{type}...", force ? :red : nil
|
202
|
-
|
203
|
-
return true ### DISABLED# unless force
|
204
|
-
yes? '... Are you sure?'
|
205
|
-
end
|
206
|
-
|
207
203
|
def dockit
|
208
204
|
@@dockit ||= Dockit::Env.new(debug: options[:debug])
|
209
205
|
end
|
data/lib/dockit/container.rb
CHANGED
data/lib/dockit/image.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Dockit
|
2
|
+
class Volume
|
3
|
+
attr_reader :volume
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def list(dangling: false)
|
7
|
+
fetch(dangling: dangling)
|
8
|
+
end
|
9
|
+
|
10
|
+
# can't remove non-dangling containers, so don't bother
|
11
|
+
# with "force" argument
|
12
|
+
def clean
|
13
|
+
puts "Volumes..."
|
14
|
+
(list(dangling: true)||[]).each do |volume|
|
15
|
+
name = volume['Name']
|
16
|
+
puts " #{name}"
|
17
|
+
delete(name)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def delete(name)
|
22
|
+
Docker.connection.delete("/volumes/#{name}")
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
private
|
27
|
+
def fetch(path='', dangling: false)
|
28
|
+
Docker::Util.parse_json(
|
29
|
+
Docker.connection.get(
|
30
|
+
"/volumes#{path}", filters: JSON.dump({dangling: [dangling.to_s]}))
|
31
|
+
)['Volumes']
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rick Frankel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -161,6 +161,7 @@ files:
|
|
161
161
|
- lib/dockit/digitalocean.rb
|
162
162
|
- lib/dockit/image.rb
|
163
163
|
- lib/dockit/service.rb
|
164
|
+
- lib/dockit/volume.rb
|
164
165
|
- spec/deploy/Dockit.rb
|
165
166
|
- spec/deploy/mod/Dockit.rb
|
166
167
|
- spec/deploy/mod/Dockit.yaml
|