docker-builder 0.1.13 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/Rakefile +0 -0
- data/docker-builder.gemspec +0 -0
- data/examples/example-apps-php/.chef/knife.rb +0 -0
- data/examples/example-apps-php/config.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/.chef/knife.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/config.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/README.md +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/metadata.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/build.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_app.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_host.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/index.html.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1 +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/readme.md +0 -0
- data/examples/example-apps-php/temp/apps-php.1.json +14 -0
- data/examples/example-base-chef/.chef/knife.rb +6 -0
- data/examples/example-base-chef/config.rb +19 -0
- data/examples/example-base-chef/readme.md +8 -0
- data/examples/example-base-chef/servers/my/.chef/knife.rb +2 -0
- data/examples/example-base-chef/servers/my/config.rb +53 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/README.md +1 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/metadata.rb +9 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb +13 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install.rb +0 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install_host.rb +9 -0
- data/examples/example-base-chef/servers/my/readme.md +0 -0
- data/examples/example-base-chef/temp/my.json +1 -0
- data/examples/example-kafka-zookeeper/config.rb +0 -0
- data/examples/example-nginx/config.rb +0 -0
- data/examples/example-nginx/servers/nginx/.chef/knife.rb +0 -0
- data/examples/example-nginx/servers/nginx/config.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/README.md +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/metadata.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/build.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install_host.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/index.html.erb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb +0 -0
- data/examples/example-nginx/servers/nginx/readme.md +0 -0
- data/examples/example-nginx/servers/nginx/scripts/install.sh +0 -0
- data/examples/example-nginx/temp/ex_nginx.json +0 -0
- data/examples/example-nginx/temp/nginx.json +0 -0
- data/install_local.sh +0 -0
- data/lib/docker_builder.rb +0 -0
- data/lib/docker_builder/chef/.chef/knife.rb +6 -5
- data/lib/docker_builder/chef/chef_build_image.rb +9 -14
- data/lib/docker_builder/chef/chef_build_image_debug1.rb +60 -0
- data/lib/docker_builder/chef/chef_destroy_image.rb +0 -12
- data/lib/docker_builder/cli.rb +4 -8
- data/lib/docker_builder/config.rb +1 -1
- data/lib/docker_builder/config/dsl.rb +0 -0
- data/lib/docker_builder/config/helpers.rb +0 -0
- data/lib/docker_builder/cookbooks/docker-builder/README.md +1 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/docker_containers_lib.rb +11 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/myhelpers.rb +14 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/resource_mycontainer.rb +33 -0
- data/lib/docker_builder/cookbooks/docker-builder/metadata.rb +9 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/destroy_container.rb +0 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/install_container.rb +18 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/provision_container.rb +14 -0
- data/lib/docker_builder/cookbooks/docker-builder/resources/mycontainer.rb +65 -0
- data/lib/docker_builder/manager.rb +2 -0
- data/lib/docker_builder/server_settings.rb +6 -5
- data/lib/docker_builder/version.rb +1 -1
- data/lib/templates/example-chef/.chef/knife.rb +0 -0
- data/lib/templates/example-chef/config.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/.chef/knife.rb +0 -0
- data/lib/templates/example-chef/servers/server1/config.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/README.md +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/metadata.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/build.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/install.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/install_host.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/templates/index.html.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/templates/nginx-sites/default.conf.erb +0 -0
- data/readme_developers.md +0 -0
- data/temp.sh +0 -0
- data/temp/app-php.json +0 -0
- data/temp/build.sh +0 -0
- data/temp/cookbooks/temp1/recipes/build.rb +0 -0
- data/temp/run.sh +0 -0
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64818dcd8a002f703ad3e8815a65b41f41b982fa
|
4
|
+
data.tar.gz: b5fc7a84041278996604d286c6391e0d26ae83b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 797b8478d848233a699374827abe591cc8674a43fed256abd4f9e4e32c3b5946e3cbba4ba56308a199a1d791d69c157c9ab8c731a04ccc36a6837a71565ad4ca
|
7
|
+
data.tar.gz: c16f17c1625468db57cd685e16bd567d3ec2da81f7fb55422141ad4a7766a8b2475fc965c5789662adffbe47260a3fd4655db3a22b9e8ff70c0185e0bfb8628e
|
data/CODE_OF_CONDUCT.md
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/docker-builder.gemspec
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{"name":"apps-php",
|
2
|
+
"build":{"image_name":
|
3
|
+
"apps-php","build_type":"chef","base_image":{"name":"my-nginx-php","repository":"my-nginx-php","tag":"latest"}},
|
4
|
+
|
5
|
+
"install":{
|
6
|
+
"host":{"script_type":"chef_recipe","script":"install_host"},
|
7
|
+
"node":{"script_type":"chef_recipe","script":"install"}},
|
8
|
+
"docker":{"command":"/sbin/my_init","ports":[[8080,80]],
|
9
|
+
"volumes":[["/disk3/data/my-examples/apps-php/html","/var/www/html"],
|
10
|
+
["/disk3/data/my-examples/apps-php/log/nginx","/var/log/nginx/"]],
|
11
|
+
"links":[]},
|
12
|
+
"attributes":{"nginx":{"sitename":"mysite.local"},"apps":{"app1":{"app_name":"app1","app_env":"production","app_domain":"app1.mmx.gex","app_domain_aliases":["app1.mmx.local"]},"app2":{"app_name":"app2","app_env":"production","app_domain":"app2.mmx.gex","app_domain_aliases":["app2.mmx.local"]}}},
|
13
|
+
"common":{"prefix":"example-","image_prefix":"example-","dir_data":"/disk3/data/my-examples/"},
|
14
|
+
"base":{"image_name":"example-apps-php","container_name":"example-apps-php"}}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
|
2
|
+
add 'build', {
|
3
|
+
"image_name" => "my5",
|
4
|
+
'build_type' => 'chef',
|
5
|
+
|
6
|
+
"base_image" => {
|
7
|
+
"name" => "my-base-phusion-1604",
|
8
|
+
"repository" => "my-base-phusion-1604",
|
9
|
+
"tag" => "latest"
|
10
|
+
|
11
|
+
},
|
12
|
+
|
13
|
+
}
|
14
|
+
|
15
|
+
add 'install', {
|
16
|
+
"host" => {
|
17
|
+
'script_type' => 'chef_recipe',
|
18
|
+
'script' => 'install_host',
|
19
|
+
},
|
20
|
+
"node" => {
|
21
|
+
'script_type' => 'chef_recipe',
|
22
|
+
'script' => 'install',
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
add 'docker', {
|
30
|
+
'command' => "/sbin/my_init",
|
31
|
+
#"command"=> "",
|
32
|
+
'ports' => [
|
33
|
+
#[8080,80],
|
34
|
+
],
|
35
|
+
'volumes' => [
|
36
|
+
#['html', '/var/www/html'],
|
37
|
+
#['log/nginx', '/var/log/nginx/'],
|
38
|
+
],
|
39
|
+
'links' => [
|
40
|
+
]
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
add 'attributes', {
|
46
|
+
'nginx' =>{
|
47
|
+
"sitename" =>"mysite.local"
|
48
|
+
},
|
49
|
+
|
50
|
+
|
51
|
+
}
|
52
|
+
|
53
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
# nginx
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"my","build":{"image_name":"my5","build_type":"chef","base_image":{"name":"my-base-phusion-1604","repository":"my-base-phusion-1604","tag":"latest"}},"install":{"host":{"script_type":"chef_recipe","script":"install_host"},"node":{"script_type":"chef_recipe","script":"install"}},"docker":{"command":"/sbin/my_init","ports":[],"volumes":[],"links":[]},"attributes":{"nginx":{"sitename":"mysite.local"}},"common":{"prefix":"example-","image_prefix":"example-","dir_data":"/disk3/data/my-exampless/example-base-chef"},"base":{"image_name":"example-my5","container_name":"example-my"}}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/install_local.sh
CHANGED
File without changes
|
data/lib/docker_builder.rb
CHANGED
File without changes
|
@@ -21,16 +21,17 @@ node_name my_server_name
|
|
21
21
|
knife[:chef_node_name] = my_server_name
|
22
22
|
|
23
23
|
server_base_dir = ENV['SERVER_PATH']
|
24
|
-
server_cookbooks_path = File.expand_path('cookbooks', server_base_dir)
|
25
|
-
|
26
24
|
|
27
25
|
#client_key "#{current_dir}/dummy.pem"
|
28
26
|
#validation_client_name "validator"
|
29
27
|
|
28
|
+
### cookbooks
|
29
|
+
|
30
|
+
server_cookbooks_path = File.expand_path('cookbooks', server_base_dir)
|
31
|
+
|
30
32
|
cookbooks_paths = [
|
31
33
|
server_cookbooks_path,
|
32
34
|
|
33
|
-
#'/mnt/data/projects/mmx/docker-builder/examples/example-nginx/servers/nginx/cookbooks',
|
34
35
|
#File.expand_path('../temp-cookbooks', root),
|
35
36
|
#File.join(root, '../cookbooks'),
|
36
37
|
#File.join(root, '../', node_name, 'cookbooks'),
|
@@ -44,7 +45,7 @@ cookbooks_paths = [
|
|
44
45
|
|
45
46
|
cookbooks_paths.reject!{|f| !Dir.exists?(f)}
|
46
47
|
|
47
|
-
|
48
|
+
puts "cookbooks: #{cookbooks_paths.inspect}"
|
48
49
|
|
49
50
|
|
50
51
|
|
@@ -66,7 +67,7 @@ end
|
|
66
67
|
|
67
68
|
cookbook_path cookbook_path+cookbooks_paths
|
68
69
|
|
69
|
-
puts "FINAL cookbooks: #{cookbook_path}"
|
70
|
+
#puts "FINAL cookbooks: #{cookbook_path}"
|
70
71
|
|
71
72
|
# node name
|
72
73
|
knife[:force] = true
|
@@ -7,33 +7,28 @@ require 'chef/provisioning'
|
|
7
7
|
|
8
8
|
#
|
9
9
|
server_name = ENV['SERVER_NAME']
|
10
|
-
#puts "server: #{server_name}"
|
11
|
-
#puts "node: #{node['docker'].inspect}"
|
12
|
-
#exit
|
13
|
-
|
14
10
|
|
15
11
|
# settings
|
16
12
|
docker_options = {
|
17
13
|
base_image: node['build']['base_image'],
|
18
|
-
#base_image: 'nginx:1.10',
|
19
14
|
privileged: true,
|
20
15
|
command: node['docker']['command'] || '',
|
21
|
-
#command: "nginx -g 'daemon off;'",
|
22
|
-
#command: "",
|
23
|
-
|
24
16
|
}
|
25
17
|
|
26
|
-
#puts "
|
27
|
-
#puts "
|
18
|
+
#puts "server: #{server_name}"
|
19
|
+
#puts "node base = #{node['base']}"
|
20
|
+
#puts "image = #{node['base']['image_name']}"
|
21
|
+
#puts "node attr: #{node['attributes']}"
|
22
|
+
#puts "docker opt = #{docker_options}"
|
28
23
|
#exit
|
29
24
|
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
image_name = node['base']['image_name']
|
26
|
+
#image_name = 'example-my'
|
33
27
|
|
34
28
|
### docker image
|
35
29
|
with_driver 'docker'
|
36
|
-
machine_image node['base']['image_name'] do
|
30
|
+
#machine_image node['base']['image_name'] do
|
31
|
+
machine_image image_name do
|
37
32
|
action :create
|
38
33
|
|
39
34
|
#tag '0.1'
|
@@ -0,0 +1,60 @@
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
#
|
4
|
+
require 'chef/provisioning'
|
5
|
+
|
6
|
+
#
|
7
|
+
server_name = ENV['SERVER_NAME']
|
8
|
+
puts "server: #{server_name}"
|
9
|
+
puts "node base: #{node['base']}"
|
10
|
+
puts "node docker: #{node['docker'].inspect}"
|
11
|
+
puts "attr: #{node['attributes']}"
|
12
|
+
puts "image: #{node['base']['image_name']}"
|
13
|
+
|
14
|
+
#exit
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
# settings
|
19
|
+
docker_options = {
|
20
|
+
base_image: 'my-base-phusion-1604',
|
21
|
+
privileged: true,
|
22
|
+
command: '/sbin/my_init',
|
23
|
+
|
24
|
+
}
|
25
|
+
|
26
|
+
#puts "image = #{settings.image_name}"
|
27
|
+
puts "docker opt = #{docker_options}"
|
28
|
+
#exit
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
### docker image
|
35
|
+
with_driver 'docker'
|
36
|
+
machine_image 'example-my2' do
|
37
|
+
action :create
|
38
|
+
|
39
|
+
#tag '0.1'
|
40
|
+
|
41
|
+
recipe "#{server_name}::build"
|
42
|
+
|
43
|
+
# attributes
|
44
|
+
#node.keys.each do |k|
|
45
|
+
# attribute k, node[k]
|
46
|
+
#end
|
47
|
+
|
48
|
+
# attributes
|
49
|
+
#node['attributes'].keys.each do |k|
|
50
|
+
# attribute k, node['attributes'][k]
|
51
|
+
#end
|
52
|
+
|
53
|
+
#
|
54
|
+
machine_options docker_options: docker_options
|
55
|
+
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
|
@@ -8,18 +8,6 @@ server_name = ENV['SERVER_NAME']
|
|
8
8
|
|
9
9
|
|
10
10
|
# settings
|
11
|
-
docker_options = {
|
12
|
-
base_image: node['build']['base_image'],
|
13
|
-
privileged: true,
|
14
|
-
command: node['docker']['command'] || '',
|
15
|
-
#ports: settings.docker_ports_array,
|
16
|
-
#volumes: settings.docker_volumes_array,
|
17
|
-
#links: settings.docker_links_array
|
18
|
-
}
|
19
|
-
|
20
|
-
#puts "image = #{settings.image_name}"
|
21
|
-
#puts "opt = #{docker_options}"
|
22
|
-
|
23
11
|
|
24
12
|
### docker image
|
25
13
|
with_driver 'docker'
|
data/lib/docker_builder/cli.rb
CHANGED
@@ -37,10 +37,10 @@ class CLI < Thor
|
|
37
37
|
:desc => 'Path to your config.rb file.'
|
38
38
|
|
39
39
|
def build
|
40
|
-
puts "building..."
|
40
|
+
puts "building images..."
|
41
41
|
|
42
42
|
opts = options
|
43
|
-
puts "opt from command line: #{options.inspect}"
|
43
|
+
#puts "opt from command line: #{options.inspect}"
|
44
44
|
|
45
45
|
|
46
46
|
warnings = false
|
@@ -130,21 +130,17 @@ class CLI < Thor
|
|
130
130
|
warnings = false
|
131
131
|
errors = false
|
132
132
|
|
133
|
+
servers = nil
|
134
|
+
|
133
135
|
begin
|
134
136
|
Config.load(options)
|
135
|
-
puts "config: #{Config.inspect}"
|
136
137
|
|
137
138
|
Config.servers.each do |name, opts|
|
138
139
|
server_settings = Settings.load_settings_for_server(name)
|
139
140
|
|
140
|
-
puts "s: #{server_settings.inspect}"
|
141
|
-
exit
|
142
|
-
|
143
141
|
Manager.destroy_image(name, server_settings)
|
144
142
|
end
|
145
143
|
|
146
|
-
#raise Error, "No servers found " + "'#{ triggers.join(',') }'." if models.empty?
|
147
|
-
|
148
144
|
rescue Exception => err
|
149
145
|
puts "exception: #{err.inspect}"
|
150
146
|
raise err
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# Docker builder
|
@@ -0,0 +1,33 @@
|
|
1
|
+
=begin
|
2
|
+
def destroy_container(name)
|
3
|
+
return @r unless @r.nil?
|
4
|
+
|
5
|
+
@r = Chef::Resource::Machine.new(name, run_context)
|
6
|
+
@r.action(:destroy)
|
7
|
+
|
8
|
+
@r
|
9
|
+
end
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'chef/resource'
|
13
|
+
|
14
|
+
class Chef
|
15
|
+
class Resource
|
16
|
+
# Missing top-level class documentation comment
|
17
|
+
class MyDockerContainer < Chef::Resource
|
18
|
+
def initialize(name, run_context = nil)
|
19
|
+
super
|
20
|
+
@resource_name = :my_docker_container
|
21
|
+
#@provider = Chef::Provider::RunitService
|
22
|
+
#@supports = { restart: true, reload: true, status: true }
|
23
|
+
#@action = :create
|
24
|
+
#@allowed_actions = [:nothing, :start, :stop, :enable, :disable, :restart, :reload, :status, :once, :hup, :cont, :term, :kill, :up, :down, :usr1, :usr2, :create]
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
#
|
4
|
+
require_relative 'lib/settings'
|
5
|
+
|
6
|
+
#
|
7
|
+
server_name = ENV['SERVER_NAME']
|
8
|
+
settings = Settings.load_settings_for_server(server_name)
|
9
|
+
|
10
|
+
#
|
11
|
+
file '/home/mmx/temp/1.txt' do
|
12
|
+
content '<html>This is a placeholder for the home page.</html>'
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
#include "#{settings.name}::install"
|
17
|
+
#include "phpredisadmin-php-fpm::install"
|
18
|
+
include_recipe "phpredisadmin-php-fpm::install"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
#
|
4
|
+
require_relative 'lib/settings'
|
5
|
+
|
6
|
+
#
|
7
|
+
require 'chef/provisioning'
|
8
|
+
|
9
|
+
#
|
10
|
+
server_name = ENV['SERVER_NAME']
|
11
|
+
settings = Settings.load_settings_for_server(server_name)
|
12
|
+
|
13
|
+
#
|
14
|
+
#include "#{settings.name}::install"
|
@@ -0,0 +1,65 @@
|
|
1
|
+
#resource_name :mycontainer
|
2
|
+
|
3
|
+
property :container_name, String, default: ''
|
4
|
+
property :data, Hash, default: {}
|
5
|
+
property :app_data_dir, String, default: ''
|
6
|
+
|
7
|
+
#property :docker_options, Hash, default: {}
|
8
|
+
|
9
|
+
action :stop do
|
10
|
+
execute 'docker s' do
|
11
|
+
command "docker stop #{container_name}"
|
12
|
+
|
13
|
+
ignore_failure true
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
action :destroy do
|
19
|
+
|
20
|
+
machine container_name do
|
21
|
+
action :destroy
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
action :create do
|
28
|
+
docker_volumes = data['docker']['volumes'] || []
|
29
|
+
docker_ports = data['docker']['ports'] || []
|
30
|
+
|
31
|
+
# create directories for volumes
|
32
|
+
docker_volumes.each do |d|
|
33
|
+
directory "#{app_data_dir}#{d}" do
|
34
|
+
mode '0775'
|
35
|
+
recursive true
|
36
|
+
action :create
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# run container
|
41
|
+
machine container_name do
|
42
|
+
tag '0.1'
|
43
|
+
|
44
|
+
action :create
|
45
|
+
|
46
|
+
recipe recipe_provision
|
47
|
+
|
48
|
+
#chef_environment chef_env
|
49
|
+
|
50
|
+
# attributes
|
51
|
+
data['attributes'].keys.each do |k|
|
52
|
+
attribute k, data['attributes'][k]
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
machine_options docker_options: {
|
57
|
+
base_image: {name: data['docker']['base_image'], repository: data['docker']['base_image'], tag: data['docker']['base_image_tag'] },
|
58
|
+
command: data['docker']['command'] || '',
|
59
|
+
privileged: true,
|
60
|
+
ports: docker_ports,
|
61
|
+
volumes: docker_volumes.map{|d| "#{app_data_dir}#{d}:#{d}"}
|
62
|
+
}
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
@@ -74,6 +74,11 @@ class ServerSettings
|
|
74
74
|
return "#{bi['name']}:#{bi['tag']}"
|
75
75
|
end
|
76
76
|
|
77
|
+
#
|
78
|
+
if attributes['build']['image_name']
|
79
|
+
return "#{attributes['common']['image_prefix']}#{attributes['build']['image_name']}"
|
80
|
+
end
|
81
|
+
|
77
82
|
"#{attributes['common']['image_prefix']}#{s}"
|
78
83
|
end
|
79
84
|
|
@@ -284,7 +289,7 @@ class Settings
|
|
284
289
|
|
285
290
|
#
|
286
291
|
f = file_settings_for_server(name)
|
287
|
-
puts "loading server settings from #{f}"
|
292
|
+
#puts "loading server settings from #{f}"
|
288
293
|
t = File.read(f) rescue ''
|
289
294
|
eval(t, settings.get_binding)
|
290
295
|
|
@@ -294,10 +299,6 @@ class Settings
|
|
294
299
|
# from common config
|
295
300
|
settings.attributes['common'] = Config.options[:common]
|
296
301
|
|
297
|
-
#puts "config options = #{Config.options}"
|
298
|
-
#puts "settings000 = #{settings.attributes}"
|
299
|
-
#exit
|
300
|
-
|
301
302
|
settings
|
302
303
|
end
|
303
304
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/readme_developers.md
CHANGED
File without changes
|
data/temp.sh
CHANGED
File without changes
|
data/temp/app-php.json
CHANGED
File without changes
|
data/temp/build.sh
CHANGED
File without changes
|
File without changes
|
data/temp/run.sh
CHANGED
File without changes
|
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.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Ivak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -84,6 +84,19 @@ files:
|
|
84
84
|
- examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1
|
85
85
|
- examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb
|
86
86
|
- examples/example-apps-php/servers/apps-php/readme.md
|
87
|
+
- examples/example-apps-php/temp/apps-php.1.json
|
88
|
+
- examples/example-base-chef/.chef/knife.rb
|
89
|
+
- examples/example-base-chef/config.rb
|
90
|
+
- examples/example-base-chef/readme.md
|
91
|
+
- examples/example-base-chef/servers/my/.chef/knife.rb
|
92
|
+
- examples/example-base-chef/servers/my/config.rb
|
93
|
+
- examples/example-base-chef/servers/my/cookbooks/my/README.md
|
94
|
+
- examples/example-base-chef/servers/my/cookbooks/my/metadata.rb
|
95
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb
|
96
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/install.rb
|
97
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/install_host.rb
|
98
|
+
- examples/example-base-chef/servers/my/readme.md
|
99
|
+
- examples/example-base-chef/temp/my.json
|
87
100
|
- examples/example-kafka-zookeeper/config.rb
|
88
101
|
- examples/example-kafka-zookeeper/servers/kafka/Dockerfile
|
89
102
|
- examples/example-kafka-zookeeper/servers/kafka/README.md
|
@@ -113,6 +126,7 @@ files:
|
|
113
126
|
- lib/docker_builder/chef/.chef/knife.rb
|
114
127
|
- lib/docker_builder/chef/chef_build_image.copy0.rb
|
115
128
|
- lib/docker_builder/chef/chef_build_image.rb
|
129
|
+
- lib/docker_builder/chef/chef_build_image_debug1.rb
|
116
130
|
- lib/docker_builder/chef/chef_destroy_container.rb
|
117
131
|
- lib/docker_builder/chef/chef_destroy_image.copy0.rb
|
118
132
|
- lib/docker_builder/chef/chef_destroy_image.rb
|
@@ -125,6 +139,15 @@ files:
|
|
125
139
|
- lib/docker_builder/config.rb
|
126
140
|
- lib/docker_builder/config/dsl.rb
|
127
141
|
- lib/docker_builder/config/helpers.rb
|
142
|
+
- lib/docker_builder/cookbooks/docker-builder/README.md
|
143
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/docker_containers_lib.rb
|
144
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/myhelpers.rb
|
145
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/resource_mycontainer.rb
|
146
|
+
- lib/docker_builder/cookbooks/docker-builder/metadata.rb
|
147
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/destroy_container.rb
|
148
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/install_container.rb
|
149
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/provision_container.rb
|
150
|
+
- lib/docker_builder/cookbooks/docker-builder/resources/mycontainer.rb
|
128
151
|
- lib/docker_builder/manager.rb
|
129
152
|
- lib/docker_builder/server_settings.rb
|
130
153
|
- lib/docker_builder/version.rb
|