dockerun 0.3.6 → 0.4.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/README.md +7 -11
- data/Rakefile +0 -2
- data/Rakefile.bak +8 -0
- data/dockerspec.sample +104 -0
- data/{dockerun.gemspec → dockerun.gemspec.bak} +20 -22
- data/exe/dockerun +8 -115
- data/lib/dockerun/cli/command.rb +133 -0
- data/lib/dockerun/cli/command_factory.rb +313 -0
- data/lib/dockerun/cli/command_result.rb +67 -0
- data/lib/dockerun/cli/delete_container.rb +55 -0
- data/lib/dockerun/cli/delete_image.rb +99 -0
- data/lib/dockerun/cli/run.rb +39 -0
- data/lib/dockerun/cli/user_info.rb +39 -0
- data/lib/dockerun/cli_engine.rb +104 -0
- data/lib/dockerun/config.rb +39 -86
- data/lib/dockerun/context/rubygems.rb +142 -0
- data/lib/dockerun/dfile.rb +204 -0
- data/lib/dockerun/docker_cli.rb +124 -0
- data/lib/dockerun/dsl.rb +291 -0
- data/lib/dockerun/version.rb +1 -1
- data/lib/dockerun.rb +31 -24
- data/sig/dockerun.rbs +4 -0
- metadata +62 -73
- data/.release_history.yml +0 -56
- data/Dockerfile.dockerun +0 -38
- data/Gemfile +0 -15
- data/Gemfile.lock +0 -94
- data/bin/console +0 -15
- data/bin/setup +0 -8
- data/lib/dockerun/bundler_helper.rb +0 -25
- data/lib/dockerun/cli_prompt.rb +0 -18
- data/lib/dockerun/command/dockerun.rb +0 -30
- data/lib/dockerun/command/init.rb +0 -79
- data/lib/dockerun/command/remove_container.rb +0 -99
- data/lib/dockerun/command/reset_image.rb +0 -107
- data/lib/dockerun/command/run.rb +0 -226
- data/lib/dockerun/command/run_new_container.rb +0 -94
- data/lib/dockerun/command/run_new_image.rb +0 -89
- data/lib/dockerun/command/stop_container.rb +0 -90
- data/lib/dockerun/docker_command_factory_helper.rb +0 -19
- data/lib/dockerun/docker_container_helper.rb +0 -213
- data/lib/dockerun/docker_image_helper.rb +0 -381
- data/lib/dockerun/template/general_template_writer.rb +0 -14
- data/lib/dockerun/template/jruby_template_writer.rb +0 -24
- data/lib/dockerun/template/template_engine.rb +0 -27
- data/lib/dockerun/template/template_writer.rb +0 -102
- data/lib/dockerun/user_info.rb +0 -37
- data/template/Dockerfile_general.erb +0 -41
- data/template/setup_ruby_devenv.rb.erb +0 -22
data/lib/dockerun/dsl.rb
ADDED
@@ -0,0 +1,291 @@
|
|
1
|
+
|
2
|
+
require_relative 'config'
|
3
|
+
require_relative 'dfile'
|
4
|
+
require_relative 'docker_cli'
|
5
|
+
|
6
|
+
require_relative 'cli/command_factory'
|
7
|
+
|
8
|
+
module Dockerun
|
9
|
+
module DSL
|
10
|
+
include TR::CondUtils
|
11
|
+
|
12
|
+
def config(&block)
|
13
|
+
_config.instance_eval(&block)
|
14
|
+
end
|
15
|
+
|
16
|
+
def set_dry_run_mode(bool = true, prompt = false)
|
17
|
+
_config.dry_run(bool, prompt)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Main DSL for dockerfile related configurations
|
21
|
+
def from(base_image, &block)
|
22
|
+
_dfile.base_image = base_image
|
23
|
+
_dfile.instance_eval(&block)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Additional dockerfile configurations for example
|
27
|
+
# if user did not specify the image name, better generate
|
28
|
+
# by system so that it can be traced for subsequent functions
|
29
|
+
# later such as delete image
|
30
|
+
def dockerfile_patch(&block)
|
31
|
+
_file.instance_eval(&block)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Main DSL for docker cli
|
35
|
+
def up(&block)
|
36
|
+
_docker_cli.instance_eval(&block)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Trigger point to start the ball rolling!
|
40
|
+
def go
|
41
|
+
|
42
|
+
# Link context with Dockerfile and docker cli
|
43
|
+
if not_empty?(_config.active_context)
|
44
|
+
self.listener do |ops, *val|
|
45
|
+
_config.active_context.call(ops, *val)
|
46
|
+
end
|
47
|
+
|
48
|
+
_dfile.listener do |ops, *val|
|
49
|
+
_config.active_context.call(ops, *val)
|
50
|
+
end
|
51
|
+
|
52
|
+
_docker_cli.listener do |ops, *val|
|
53
|
+
_config.active_context.call(ops, *val)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# give chance to context to verify the integrity of the
|
58
|
+
# workspace before proceed
|
59
|
+
trigger_listener(:dsl_before_go, self)
|
60
|
+
|
61
|
+
# check if image exist?
|
62
|
+
if not image_exist?
|
63
|
+
logger.debug "Image doesn't exist... proceed to build the image"
|
64
|
+
# if not exist, build the image giving the name
|
65
|
+
st, res = build_image
|
66
|
+
if st
|
67
|
+
trigger_listener(:dsl_image_built, self)
|
68
|
+
#puts " Image '#{image_name}' built successfully"
|
69
|
+
else
|
70
|
+
trigger_listener(:dsl_image_building_failed, self)
|
71
|
+
raise Error, " Image '#{image_name}' failed to be built. Error was : #{res.err_lines.join("\n")}"
|
72
|
+
end
|
73
|
+
else
|
74
|
+
logger.debug "Image exist... skipped image building..."
|
75
|
+
end
|
76
|
+
|
77
|
+
# check if container exist?
|
78
|
+
if container_exist?
|
79
|
+
trigger_listener(:dsl_before_start_container, self)
|
80
|
+
logger.debug "Container exist... Starting container..."
|
81
|
+
# container exist, start the container
|
82
|
+
start_container
|
83
|
+
|
84
|
+
trigger_listener(:dsl_before_attach_container, self)
|
85
|
+
logger.debug "Container started... attaching container..."
|
86
|
+
# attach to container
|
87
|
+
attach_container
|
88
|
+
trigger_listener(:dsl_after_attach_container, self)
|
89
|
+
else
|
90
|
+
trigger_listener(:dsl_before_run_container, self)
|
91
|
+
logger.debug "Container does not exist. Creating new container..."
|
92
|
+
# Container does not exist, run the container
|
93
|
+
run_container
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
def image_name
|
100
|
+
if _dfile.is_image_name_given?
|
101
|
+
_dfile.image_name
|
102
|
+
else
|
103
|
+
_dfile.generated_image_name
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def container_name
|
108
|
+
if _docker_cli.is_container_name_given?
|
109
|
+
_docker_cli.container_name
|
110
|
+
else
|
111
|
+
_docker_cli.generated_container_name
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
def listener(&block)
|
117
|
+
@listener = block
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
private
|
122
|
+
def _config
|
123
|
+
if @_config.nil?
|
124
|
+
@_config = Config.new
|
125
|
+
end
|
126
|
+
@_config
|
127
|
+
end
|
128
|
+
|
129
|
+
def _dfile
|
130
|
+
if @_dfile.nil?
|
131
|
+
@_dfile = Dfile.new(_config)
|
132
|
+
end
|
133
|
+
@_dfile
|
134
|
+
end
|
135
|
+
|
136
|
+
def _docker_cli
|
137
|
+
if @_docker_cli.nil?
|
138
|
+
@_docker_cli = DockerCli.new(_config, _dfile)
|
139
|
+
end
|
140
|
+
@_docker_cli
|
141
|
+
end
|
142
|
+
|
143
|
+
def docker_cf
|
144
|
+
if @_docker_cf.nil?
|
145
|
+
@_docker_cf = Dockerun::Cli::CommandFactory.new
|
146
|
+
end
|
147
|
+
@_docker_cf
|
148
|
+
end
|
149
|
+
|
150
|
+
def trigger_listener(evt, *args, &block)
|
151
|
+
if not @listener.nil?
|
152
|
+
@listener.call(evt, *args, &block)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
# flag to bridge between script and eval mode
|
157
|
+
def mark_go_done
|
158
|
+
@_go_done = true
|
159
|
+
end
|
160
|
+
def is_go_done?
|
161
|
+
@_go_done.nil? ? false : @_go_done
|
162
|
+
end
|
163
|
+
# end flag
|
164
|
+
|
165
|
+
def image_exist?
|
166
|
+
fact = docker_cf.find_image(image_name)
|
167
|
+
if _config.is_dry_run?
|
168
|
+
dry_run_puts "Find Image : #{fact.to_s}"
|
169
|
+
dry_run_puts "Find Image : Returning false to allow image build"
|
170
|
+
false
|
171
|
+
else
|
172
|
+
res = docker_cf.find_image(image_name).run
|
173
|
+
res.success? and not_empty?(res.output_lines)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
def build_image
|
178
|
+
dfile = _dfile.generate
|
179
|
+
dfileName = "Dockerfile-#{SecureRandom.hex(4)}"
|
180
|
+
File.open(dfileName,"w") do |f|
|
181
|
+
f.write dfile
|
182
|
+
end
|
183
|
+
|
184
|
+
fact = docker_cf.build_image(image_name, dockerfile: dfileName)
|
185
|
+
if _config.is_dry_run?
|
186
|
+
dry_run_puts "Build Image : #{fact.to_s}"
|
187
|
+
dry_run_puts "Build Image : Returning true to proceed to next phase."
|
188
|
+
dry_run_puts "Generated dockerfile '#{dfileName}' shall be remained in project directory."
|
189
|
+
[true, nil]
|
190
|
+
else
|
191
|
+
res = fact.run
|
192
|
+
if res.success?
|
193
|
+
FileUtils.rm(dFileName) if not _dfile.keep_dockerfile?
|
194
|
+
[true, res]
|
195
|
+
else
|
196
|
+
[false, res]
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
|
202
|
+
def container_exist?
|
203
|
+
if _docker_cli.keep_container?
|
204
|
+
fact = docker_cf.find_from_all_container(container_name)
|
205
|
+
if _config.is_dry_run?
|
206
|
+
dry_run_puts "Is container exist? : #{fact.to_s}"
|
207
|
+
dry_run_puts "Returning false to allow container build"
|
208
|
+
false
|
209
|
+
else
|
210
|
+
res = fact.run
|
211
|
+
res.success? and not_empty?(res.output_lines)
|
212
|
+
end
|
213
|
+
else
|
214
|
+
remove_container
|
215
|
+
false
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
def remove_container
|
220
|
+
fact = docker_cf.find_from_all_container(container_name)
|
221
|
+
res = fact.run
|
222
|
+
if res.success?
|
223
|
+
res.output_lines.each do |ci|
|
224
|
+
docker_cf.stop_container(ci).run
|
225
|
+
r = docker_cf.delete_container(ci).run
|
226
|
+
logger.debug "Delete container : #{r.success?} / #{r.success? ? r.output_lines.join("\n") : r.err_lines.join("\n")}"
|
227
|
+
end
|
228
|
+
else
|
229
|
+
logger.debug "Failed to find all container by name '#{container_name}'"
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
def start_container
|
234
|
+
fact = docker_cf.find_running_container(container_name)
|
235
|
+
fact2 = docker_cf.start_container(container_name)
|
236
|
+
|
237
|
+
if _config.is_dry_run?
|
238
|
+
dry_run_puts "Find running container : #{fact.to_s}"
|
239
|
+
dry_run_puts "Start container : #{fact2.to_s}"
|
240
|
+
[true, nil]
|
241
|
+
else
|
242
|
+
res = fact.run
|
243
|
+
if res.success? and not_empty?(res.output_lines)
|
244
|
+
# already running so ignore
|
245
|
+
[true, res]
|
246
|
+
else
|
247
|
+
res2 = fact2.run
|
248
|
+
[res2.success?, res2]
|
249
|
+
end
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
def attach_container
|
254
|
+
fact = docker_cf.attach_container(container_name)
|
255
|
+
if _config.is_dry_run?
|
256
|
+
dry_run_puts "Attach container : #{fact.to_s}"
|
257
|
+
else
|
258
|
+
fact.run
|
259
|
+
end
|
260
|
+
#docker_cf.attach_container(container_name).run
|
261
|
+
end
|
262
|
+
|
263
|
+
def run_container
|
264
|
+
|
265
|
+
params = { interactive: _docker_cli.is_interactive?, tty: _docker_cli.is_interactive?, del: !_docker_cli.keep_container?, container_name: container_name, match_user: _config.set_current_user?, command: _docker_cli.command_to_be_run, mounts: _docker_cli.mounts }
|
266
|
+
|
267
|
+
params[:ports] = {} if params[:ports].nil?
|
268
|
+
params[:ports].merge!(_docker_cli.expose_ports) if _docker_cli.has_exposed_ports?
|
269
|
+
|
270
|
+
params = _docker_cli.trigger_listener(:docker_cli_construct_command, params)
|
271
|
+
|
272
|
+
fact = docker_cf.create_container_from_image(image_name, params)
|
273
|
+
if _config.is_dry_run?
|
274
|
+
dry_run_puts "Run container : #{fact.to_s}"
|
275
|
+
else
|
276
|
+
fact.run
|
277
|
+
end
|
278
|
+
end
|
279
|
+
|
280
|
+
|
281
|
+
def dry_run_puts(msg)
|
282
|
+
puts "[DryRun] #{msg}" if _config.is_dry_run_prompt?
|
283
|
+
end
|
284
|
+
|
285
|
+
|
286
|
+
def logger
|
287
|
+
Dockerun.logger(:dockerun_dsl)
|
288
|
+
end
|
289
|
+
|
290
|
+
end
|
291
|
+
end
|
data/lib/dockerun/version.rb
CHANGED
data/lib/dockerun.rb
CHANGED
@@ -3,41 +3,48 @@
|
|
3
3
|
require 'toolrack'
|
4
4
|
require 'teLogger'
|
5
5
|
|
6
|
-
require '
|
7
|
-
require 'tty/
|
6
|
+
require 'tty/command'
|
7
|
+
require 'tty/which'
|
8
8
|
|
9
9
|
require_relative "dockerun/version"
|
10
|
+
require_relative 'dockerun/dsl'
|
10
11
|
|
11
|
-
require_relative 'dockerun/
|
12
|
-
require_relative 'dockerun/command/init'
|
13
|
-
require_relative 'dockerun/command/run'
|
14
|
-
require_relative 'dockerun/command/reset_image'
|
15
|
-
require_relative 'dockerun/command/run_new_container'
|
16
|
-
require_relative 'dockerun/command/remove_container'
|
17
|
-
require_relative 'dockerun/command/run_new_image'
|
18
|
-
require_relative 'dockerun/command/stop_container'
|
19
|
-
|
20
|
-
require_relative 'dockerun/template/template_writer'
|
21
|
-
require_relative 'dockerun/template/template_engine'
|
12
|
+
require_relative 'dockerun/cli_engine'
|
22
13
|
|
23
14
|
module Dockerun
|
15
|
+
include TR::CondUtils
|
16
|
+
|
24
17
|
class Error < StandardError; end
|
25
18
|
# Your code goes here...
|
26
19
|
|
27
|
-
def self.
|
28
|
-
logger.tdebug(:dockerun, msg) if is_user_debug_on?
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.logger
|
20
|
+
def self.logger(tag = nil, &block)
|
32
21
|
if @_logger.nil?
|
33
|
-
|
22
|
+
drLogout = ENV["DR_LOGOUT"]
|
23
|
+
if is_empty?(drLogout)
|
24
|
+
@_logger = TeLogger::Tlogger.new('dockerun.log',5, 5*1024*1024)
|
25
|
+
else
|
26
|
+
@_logger = TeLogger::Tlogger.new(drLogout, 5, 5*1024*1024)
|
27
|
+
end
|
34
28
|
end
|
35
|
-
@_logger
|
36
|
-
end
|
37
29
|
|
38
|
-
|
39
|
-
|
40
|
-
|
30
|
+
if block
|
31
|
+
if not_empty?(tag)
|
32
|
+
@_logger.with_tag(tag, &block)
|
33
|
+
else
|
34
|
+
@_logger.with_tag(@_logger.tag, &block)
|
35
|
+
end
|
36
|
+
else
|
37
|
+
if is_empty?(tag)
|
38
|
+
@_logger.tag = :dockerun
|
39
|
+
@_logger
|
40
|
+
else
|
41
|
+
# no block but tag is given? hmm
|
42
|
+
@_logger.tag = tag
|
43
|
+
@_logger
|
44
|
+
end
|
45
|
+
end
|
41
46
|
end
|
42
47
|
|
48
|
+
|
49
|
+
|
43
50
|
end
|
data/sig/dockerun.rbs
ADDED
metadata
CHANGED
@@ -1,169 +1,158 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockerun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Chris
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: teLogger
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '0.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '0.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: toolrack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.23'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '0.23'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: tty-
|
42
|
+
name: tty-prompt
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.23'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '0.23'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: tty-
|
56
|
+
name: tty-command
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '0.10'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '0.10'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: tty-which
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.5'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: pastel
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: '0.8'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: '0.8'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: colorize
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
-
type: :
|
103
|
+
version: '1.1'
|
104
|
+
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '1.1'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: release-gem
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '0.3'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '0.3'
|
125
125
|
description: ''
|
126
126
|
email:
|
127
|
-
-
|
127
|
+
- chris@antrapol.com
|
128
128
|
executables:
|
129
129
|
- dockerun
|
130
130
|
extensions: []
|
131
131
|
extra_rdoc_files: []
|
132
132
|
files:
|
133
|
-
- ".release_history.yml"
|
134
133
|
- ".rspec"
|
135
|
-
- Dockerfile.dockerun
|
136
|
-
- Gemfile
|
137
|
-
- Gemfile.lock
|
138
134
|
- README.md
|
139
135
|
- Rakefile
|
140
|
-
-
|
141
|
-
-
|
142
|
-
- dockerun.gemspec
|
136
|
+
- Rakefile.bak
|
137
|
+
- dockerspec.sample
|
138
|
+
- dockerun.gemspec.bak
|
143
139
|
- exe/dockerun
|
144
140
|
- lib/dockerun.rb
|
145
|
-
- lib/dockerun/
|
146
|
-
- lib/dockerun/
|
147
|
-
- lib/dockerun/
|
148
|
-
- lib/dockerun/
|
149
|
-
- lib/dockerun/
|
150
|
-
- lib/dockerun/
|
151
|
-
- lib/dockerun/
|
152
|
-
- lib/dockerun/
|
153
|
-
- lib/dockerun/command/run_new_image.rb
|
154
|
-
- lib/dockerun/command/stop_container.rb
|
141
|
+
- lib/dockerun/cli/command.rb
|
142
|
+
- lib/dockerun/cli/command_factory.rb
|
143
|
+
- lib/dockerun/cli/command_result.rb
|
144
|
+
- lib/dockerun/cli/delete_container.rb
|
145
|
+
- lib/dockerun/cli/delete_image.rb
|
146
|
+
- lib/dockerun/cli/run.rb
|
147
|
+
- lib/dockerun/cli/user_info.rb
|
148
|
+
- lib/dockerun/cli_engine.rb
|
155
149
|
- lib/dockerun/config.rb
|
156
|
-
- lib/dockerun/
|
157
|
-
- lib/dockerun/
|
158
|
-
- lib/dockerun/
|
159
|
-
- lib/dockerun/
|
160
|
-
- lib/dockerun/template/jruby_template_writer.rb
|
161
|
-
- lib/dockerun/template/template_engine.rb
|
162
|
-
- lib/dockerun/template/template_writer.rb
|
163
|
-
- lib/dockerun/user_info.rb
|
150
|
+
- lib/dockerun/context/rubygems.rb
|
151
|
+
- lib/dockerun/dfile.rb
|
152
|
+
- lib/dockerun/docker_cli.rb
|
153
|
+
- lib/dockerun/dsl.rb
|
164
154
|
- lib/dockerun/version.rb
|
165
|
-
-
|
166
|
-
- template/setup_ruby_devenv.rb.erb
|
155
|
+
- sig/dockerun.rbs
|
167
156
|
homepage: ''
|
168
157
|
licenses: []
|
169
158
|
metadata: {}
|
@@ -175,14 +164,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
175
164
|
requirements:
|
176
165
|
- - ">="
|
177
166
|
- !ruby/object:Gem::Version
|
178
|
-
version: 2.
|
167
|
+
version: 2.6.0
|
179
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
169
|
requirements:
|
181
170
|
- - ">="
|
182
171
|
- !ruby/object:Gem::Version
|
183
172
|
version: '0'
|
184
173
|
requirements: []
|
185
|
-
rubygems_version: 3.4.
|
174
|
+
rubygems_version: 3.4.6
|
186
175
|
signing_key:
|
187
176
|
specification_version: 4
|
188
177
|
summary: ''
|
data/.release_history.yml
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
---
|
2
|
-
dockerun:
|
3
|
-
- :version: 0.1.0
|
4
|
-
:timestamp: 1670316183.6472232
|
5
|
-
- :version: 0.1.1
|
6
|
-
:timestamp: 1670316312.4779773
|
7
|
-
- :version: 0.1.2
|
8
|
-
:timestamp: 1670322141.4019918
|
9
|
-
- :version: 0.1.3
|
10
|
-
:timestamp: 1670322571.6620317
|
11
|
-
- :version: 0.1.4
|
12
|
-
:timestamp: 1670322830.4816852
|
13
|
-
- :version: 0.1.5
|
14
|
-
:timestamp: 1670421296.0570104
|
15
|
-
- :version: 0.1.6
|
16
|
-
:timestamp: 1670421483.0685005
|
17
|
-
- :version: 0.1.7
|
18
|
-
:timestamp: 1670557200.7343419
|
19
|
-
- :version: 0.1.8
|
20
|
-
:timestamp: 1670557489.8592377
|
21
|
-
- :version: 0.1.9
|
22
|
-
:timestamp: 1670557778.5624037
|
23
|
-
- :version: 0.1.10
|
24
|
-
:timestamp: 1670579289.0579133
|
25
|
-
- :version: 0.1.11
|
26
|
-
:timestamp: 1670640649.1748028
|
27
|
-
- :version: 0.1.12
|
28
|
-
:timestamp: 1670640902.591357
|
29
|
-
- :version: 0.1.13
|
30
|
-
:timestamp: 1670649972.645625
|
31
|
-
- :version: 0.1.14
|
32
|
-
:timestamp: 1670677180.3442845
|
33
|
-
- :version: 0.1.15_mac
|
34
|
-
:timestamp: 1679552032.751968
|
35
|
-
- :version: 0.1.15
|
36
|
-
:timestamp: 1679980468.4161575
|
37
|
-
- :version: 0.1.16
|
38
|
-
:timestamp: 1680096788.8148112
|
39
|
-
- :version: 0.1.17
|
40
|
-
:timestamp: 1680413747.3876462
|
41
|
-
- :version: 0.1.18
|
42
|
-
:timestamp: 1680413850.243007
|
43
|
-
- :version: 0.2.0
|
44
|
-
:timestamp: 1680589830.9123309
|
45
|
-
- :version: 0.2.1
|
46
|
-
:timestamp: 1680590987.4122827
|
47
|
-
- :version: 0.2.2
|
48
|
-
:timestamp: 1680591256.174102
|
49
|
-
- :version: 0.3.0
|
50
|
-
:timestamp: 1680596019.8479326
|
51
|
-
- :version: 0.3.1
|
52
|
-
:timestamp: 1680596515.6388657
|
53
|
-
- :version: 0.3.3
|
54
|
-
:timestamp: 1680598096.8177018
|
55
|
-
- :version: 0.3.4
|
56
|
-
:timestamp: 1680600334.3304904
|