docker-builder 0.1.41 → 0.1.43

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 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