docker-builder 0.1.41 → 0.1.43
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/install_local.sh +1 -1
- data/lib/docker_builder/manager.rb +28 -16
- data/lib/docker_builder/version.rb +1 -1
- data/readme.md +13 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5397c647c4db18a0ba0db4bf1e34c652e390d786
|
4
|
+
data.tar.gz: d22e380da70140e7cb6a705ca12e505011df2c1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbaa35b3d1e1d622c9b4f544de84978db8f85f485f04b59d1f29021aa776d758bc1314031cb5431dcbd7eb30d823ad2e71d95805df45ab15158e7f9e01b159f4
|
7
|
+
data.tar.gz: 6958f5830f5f8abd0d7b76fe05c741cafe937ce23442dbfef745217775ebdb7d9580dd65a6986d967e6b14965992acef0aac9188f8063d758bf9787b2ee635ab
|
data/install_local.sh
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
gem build docker-builder.gemspec
|
2
|
-
gem install ./docker-builder-0.1.
|
2
|
+
gem install ./docker-builder-0.1.43.gem
|
@@ -156,18 +156,6 @@ class Manager
|
|
156
156
|
setup_network(settings)
|
157
157
|
|
158
158
|
|
159
|
-
### BEFORE START
|
160
|
-
|
161
|
-
# run setup provision scripts
|
162
|
-
setup_scripts = (settings['provision']['setup'] rescue [])
|
163
|
-
if setup_scripts
|
164
|
-
setup_scripts.each do |script|
|
165
|
-
_run_setup_script(settings, script)
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
|
170
|
-
|
171
159
|
### START && run provision after start
|
172
160
|
start_container(name, settings)
|
173
161
|
|
@@ -175,8 +163,20 @@ class Manager
|
|
175
163
|
end
|
176
164
|
|
177
165
|
def self.create_container(settings)
|
166
|
+
#puts "networks: #{settings['docker']['network']}"
|
178
167
|
# create
|
179
|
-
|
168
|
+
net_options = ""
|
169
|
+
networks = settings['docker'].fetch('network', {}).fetch('networks', [])
|
170
|
+
if networks && networks[0]
|
171
|
+
network = networks[0]
|
172
|
+
#puts "network=#{network}"
|
173
|
+
net_options << "--net #{network['net']} "
|
174
|
+
net_options << "--ip #{network['ip']} " if network['ip']
|
175
|
+
net_options << "--mac-address #{network['mac_address']} " if network['mac_address']
|
176
|
+
end
|
177
|
+
|
178
|
+
|
179
|
+
cmd %Q(docker create --name #{settings.container_name} #{net_options} #{settings.docker_ports_string} #{settings.docker_volumes_string} #{settings.docker_volumes_from_string} #{settings.docker_links_string} #{settings.run_extra_options_string} #{settings.run_env_variables_string} #{settings.image_name} #{settings['docker']['command']} #{settings['docker']['run_options']})
|
180
180
|
end
|
181
181
|
|
182
182
|
|
@@ -206,6 +206,17 @@ class Manager
|
|
206
206
|
|
207
207
|
|
208
208
|
def self.start_container(name, settings)
|
209
|
+
### BEFORE START
|
210
|
+
|
211
|
+
# run setup provision scripts
|
212
|
+
setup_scripts = (settings['provision']['setup'] rescue [])
|
213
|
+
if setup_scripts
|
214
|
+
setup_scripts.each do |script|
|
215
|
+
_run_setup_script(settings, script)
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
|
209
220
|
# prepare before start
|
210
221
|
prepare_before_start(settings)
|
211
222
|
|
@@ -243,7 +254,7 @@ class Manager
|
|
243
254
|
def self.prepare_before_start(settings)
|
244
255
|
puts "prepare_before_start"
|
245
256
|
|
246
|
-
#
|
257
|
+
# prepare for chef scripts
|
247
258
|
bootstrap_scripts = (settings['provision']['bootstrap'] rescue [])
|
248
259
|
|
249
260
|
# before start
|
@@ -271,7 +282,7 @@ class Manager
|
|
271
282
|
def self.setup_container_after_start(settings)
|
272
283
|
|
273
284
|
# default gateway
|
274
|
-
|
285
|
+
|
275
286
|
network = settings['docker']['network']
|
276
287
|
if network
|
277
288
|
gateway = network['default_gateway']
|
@@ -282,7 +293,7 @@ class Manager
|
|
282
293
|
cmd %Q(docker exec #{settings.container_name} ip route change default via #{gateway})
|
283
294
|
end
|
284
295
|
end
|
285
|
-
|
296
|
+
|
286
297
|
|
287
298
|
|
288
299
|
# fix hosts
|
@@ -350,6 +361,7 @@ class Manager
|
|
350
361
|
end
|
351
362
|
|
352
363
|
def self._run_bootstrap_script(settings, script)
|
364
|
+
puts "run bs script #{script}"
|
353
365
|
if script['type']=='shell' && script['run_from']=='host'
|
354
366
|
return _run_bootstrap_script_shell_from_host(settings, script)
|
355
367
|
end
|
data/readme.md
CHANGED
@@ -193,10 +193,11 @@ Process:
|
|
193
193
|
* run provision to setup host machine. Script is running on the host machine.
|
194
194
|
```
|
195
195
|
{
|
196
|
-
'
|
196
|
+
'provision'=>[
|
197
197
|
{
|
198
198
|
'host'=> {type: 'ruby', ..}
|
199
|
-
}
|
199
|
+
},..
|
200
|
+
]
|
200
201
|
...
|
201
202
|
}
|
202
203
|
```
|
@@ -204,10 +205,12 @@ Process:
|
|
204
205
|
* run provision to setup not running container. Run script which can copy/change files in container.
|
205
206
|
```
|
206
207
|
{
|
207
|
-
'
|
208
|
+
'provision'=>[
|
208
209
|
{
|
209
210
|
'setup'=> {type: 'ruby'}
|
210
|
-
}
|
211
|
+
},
|
212
|
+
..
|
213
|
+
]
|
211
214
|
...
|
212
215
|
}
|
213
216
|
```
|
@@ -216,19 +219,21 @@ Process:
|
|
216
219
|
Script should be located inside container.
|
217
220
|
```
|
218
221
|
{
|
219
|
-
'
|
222
|
+
'provision'=>[
|
220
223
|
{
|
221
224
|
'bootstrap'=> {type: 'chef'}
|
222
|
-
}
|
225
|
+
},..
|
226
|
+
]
|
223
227
|
```
|
224
228
|
|
225
229
|
* provision to init container. Run script every time after container starts. Script should be located inside container.
|
226
230
|
```
|
227
231
|
{
|
228
|
-
'
|
232
|
+
'provision'=>[
|
229
233
|
{
|
230
234
|
'init'=> {type: 'chef'}
|
231
|
-
}
|
235
|
+
},..
|
236
|
+
]
|
232
237
|
```
|
233
238
|
|
234
239
|
* Use lock file to make sure the container does not start until the provision is finished.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.43
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Ivak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|