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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bacc61b8a7092799d7984a6d95b5c16f7b15c38a
4
- data.tar.gz: 7670e656db1f00ae248df9471e631949575efdb7
3
+ metadata.gz: 5397c647c4db18a0ba0db4bf1e34c652e390d786
4
+ data.tar.gz: d22e380da70140e7cb6a705ca12e505011df2c1d
5
5
  SHA512:
6
- metadata.gz: bad544f02250651a75102f403e1d5ccf76218c3c14e4eb8c7905f18108153e55cbfb7b3be9c2658c5f51c6ab45b0e617649efc2fe1db14c519a9c916b1c89078
7
- data.tar.gz: 3ec8237997dd2919b96ecfff2b346e6b21984b4631477e77d771b810e12a6d664f20838c81bc96275839b9ed93a58b17cf6c79f21fb3babacaa9a4442fe361ba
6
+ metadata.gz: fbaa35b3d1e1d622c9b4f544de84978db8f85f485f04b59d1f29021aa776d758bc1314031cb5431dcbd7eb30d823ad2e71d95805df45ab15158e7f9e01b159f4
7
+ data.tar.gz: 6958f5830f5f8abd0d7b76fe05c741cafe937ce23442dbfef745217775ebdb7d9580dd65a6986d967e6b14965992acef0aac9188f8063d758bf9787b2ee635ab
@@ -1,2 +1,2 @@
1
1
  gem build docker-builder.gemspec
2
- gem install ./docker-builder-0.1.41.gem
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
- cmd %Q(docker create --name #{settings.container_name} #{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']})
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
- =begin
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
- =end
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
@@ -1,3 +1,3 @@
1
1
  module DockerBuilder
2
- VERSION = "0.1.41"
2
+ VERSION = "0.1.43"
3
3
  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
- 'install'=>
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
- 'install'=>
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
- 'install'=>
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
- 'install'=>
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.41
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-24 00:00:00.000000000 Z
11
+ date: 2017-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler