docker-builder 0.1.50 → 0.1.55

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/{Rakefile → Rakefile_temp} +8 -7
  3. data/install_local.sh +1 -1
  4. data/lib/docker_builder.rb +4 -1
  5. data/lib/docker_builder/cli.rb +23 -56
  6. data/lib/docker_builder/config.rb +75 -34
  7. data/lib/docker_builder/config/dsl.rb +17 -1
  8. data/lib/docker_builder/{manager.rb → manager_container.rb} +25 -308
  9. data/lib/docker_builder/manager_image.rb +103 -0
  10. data/lib/docker_builder/provisioner/base.rb +188 -0
  11. data/lib/docker_builder/provisioner/{provisioner_chef.rb → chef.rb} +5 -1
  12. data/lib/docker_builder/server_settings.rb +34 -64
  13. data/lib/docker_builder/version.rb +1 -1
  14. data/readme.md +118 -79
  15. data/temp_config.rb +17 -0
  16. metadata +8 -58
  17. data/examples/example-apps-php/.chef/knife.rb +0 -6
  18. data/examples/example-apps-php/config.rb +0 -19
  19. data/examples/example-apps-php/servers/apps-php/.chef/knife.rb +0 -2
  20. data/examples/example-apps-php/servers/apps-php/config.rb +0 -69
  21. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/README.md +0 -1
  22. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/metadata.rb +0 -9
  23. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/build.rb +0 -43
  24. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install.rb +0 -55
  25. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_app.rb +0 -27
  26. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_host.rb +0 -9
  27. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/index.html.erb +0 -4
  28. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb +0 -55
  29. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1 +0 -55
  30. data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb +0 -45
  31. data/examples/example-apps-php/servers/apps-php/readme.md +0 -0
  32. data/examples/example-apps-php/temp/apps-php.1.json +0 -14
  33. data/examples/example-base-chef/.chef/knife.rb +0 -6
  34. data/examples/example-base-chef/config.rb +0 -19
  35. data/examples/example-base-chef/readme.md +0 -8
  36. data/examples/example-base-chef/servers/my/.chef/knife.rb +0 -2
  37. data/examples/example-base-chef/servers/my/config.rb +0 -53
  38. data/examples/example-base-chef/servers/my/cookbooks/my/README.md +0 -1
  39. data/examples/example-base-chef/servers/my/cookbooks/my/metadata.rb +0 -9
  40. data/examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb +0 -23
  41. data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install.rb +0 -0
  42. data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install_host.rb +0 -9
  43. data/examples/example-base-chef/servers/my/readme.md +0 -0
  44. data/examples/example-kafka-zookeeper/config.rb +0 -87
  45. data/examples/example-kafka-zookeeper/servers/kafka/Dockerfile +0 -21
  46. data/examples/example-kafka-zookeeper/servers/kafka/README.md +0 -78
  47. data/examples/example-kafka-zookeeper/servers/kafka/files/LICENSE +0 -202
  48. data/examples/example-kafka-zookeeper/servers/kafka/files/broker-list.sh +0 -5
  49. data/examples/example-kafka-zookeeper/servers/kafka/files/create-topics.sh +0 -32
  50. data/examples/example-kafka-zookeeper/servers/kafka/files/download-kafka.sh +0 -5
  51. data/examples/example-kafka-zookeeper/servers/kafka/files/start-kafka-shell.sh +0 -2
  52. data/examples/example-kafka-zookeeper/servers/kafka/files/start-kafka.sh +0 -67
  53. data/examples/example-nginx/config.rb +0 -19
  54. data/examples/example-nginx/servers/nginx/.chef/knife.rb +0 -8
  55. data/examples/example-nginx/servers/nginx/config.rb +0 -55
  56. data/examples/example-nginx/servers/nginx/cookbooks/nginx/README.md +0 -1
  57. data/examples/example-nginx/servers/nginx/cookbooks/nginx/metadata.rb +0 -9
  58. data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/build.rb +0 -10
  59. data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install.rb +0 -28
  60. data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install_host.rb +0 -9
  61. data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/index.html.erb +0 -4
  62. data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb +0 -45
  63. data/examples/example-nginx/servers/nginx/readme.md +0 -0
  64. data/examples/example-nginx/servers/nginx/scripts/install.sh +0 -3
  65. data/examples/example-nginx/temp/ex_nginx.json +0 -20
  66. data/examples/example-nginx/temp/nginx.json +0 -1
  67. data/examples/example-swarm-redis/config.rb +0 -61
  68. data/examples/example-swarm-redis/readme.md +0 -10
  69. data/lib/docker_builder/temp.rb +0 -1
@@ -1,69 +0,0 @@
1
-
2
- add 'build', {
3
- "image_name" => "apps-php",
4
- 'build_type' => 'chef',
5
-
6
- "base_image" => {
7
- "name" => "my-nginx-php",
8
- "repository" => "my-nginx-php",
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', '/usr/share/nginx/html'],
37
- ['html', '/var/www/html'],
38
- #['app', '/usr/share/nginx/html/app'],
39
- ['log/nginx', '/var/log/nginx/'],
40
- ],
41
- 'links' => [
42
- ]
43
- }
44
-
45
-
46
-
47
- add 'attributes', {
48
- 'nginx' =>{
49
- "sitename" =>"mysite.local"
50
- },
51
- 'apps' =>{
52
- 'app1'=>{
53
- 'app_name' => 'app1',
54
- 'app_env' => 'production',
55
- 'app_domain' => 'app1.mmx.gex',
56
- 'app_domain_aliases' => ['app1.mmx.local'],
57
- },
58
- 'app2'=>{
59
- 'app_name' => 'app2',
60
- 'app_env' => 'production',
61
- 'app_domain' => 'app2.mmx.gex',
62
- 'app_domain_aliases' => ['app2.mmx.local'],
63
- }
64
- }
65
-
66
-
67
- }
68
-
69
-
@@ -1,9 +0,0 @@
1
- name 'apps-php'
2
- maintainer 'YOUR_COMPANY_NAME'
3
- maintainer_email 'YOUR_EMAIL'
4
- license 'All rights reserved'
5
- description 'Nginx server with PHP applications'
6
- long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
7
- version '0.1.0'
8
-
9
- #depends "apt"
@@ -1,43 +0,0 @@
1
- # will be added to Docker image
2
-
3
- #
4
- ['/var/www/html', 'var/www/temp'].each do |d|
5
- directory d do
6
- recursive true
7
- action :create
8
- end
9
-
10
- end
11
-
12
-
13
- #
14
-
15
-
16
-
17
- execute 'who' do
18
- command 'echo $(whoami) > /tmp/1.txt'
19
- end
20
-
21
- =begin
22
- #include_recipe 'apt'
23
- execute 'apt-get update' do
24
- command 'apt-get update'
25
- end
26
-
27
- ['git'].each do |p|
28
- apt_package p
29
- end
30
- =end
31
-
32
- =begin
33
- # clean
34
- execute 'apt-get clean' do
35
- command 'apt-get clean'
36
- end
37
-
38
- execute 'remove temp' do
39
- command 'rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*'
40
- end
41
-
42
-
43
- =end
@@ -1,55 +0,0 @@
1
- =begin
2
- ## nginx default server
3
- template "/etc/nginx/conf.d/default.conf" do
4
- source "nginx-sites/default.conf.erb"
5
-
6
- #owner 'root'
7
- #group 'root'
8
-
9
- mode '0775'
10
- end
11
- =end
12
-
13
-
14
-
15
- ### apps on nginx
16
- node.run_state['apps'] = node['apps']
17
-
18
- node['apps'].each do |name, opt|
19
- node.run_state['app_name'] = name
20
- node.run_state['app'] = node['apps'][name]
21
-
22
- #include_recipe 'apps-php::install_app'
23
-
24
- template "/etc/nginx/conf.d/#{name}.conf" do
25
- source "nginx-sites/app.conf.erb"
26
-
27
- variables({
28
- :app_name => name,
29
- :app => node['apps'][name]
30
- })
31
-
32
-
33
- #owner 'root'
34
- #group 'root'
35
- mode '0775'
36
- end
37
-
38
-
39
-
40
- end
41
-
42
-
43
-
44
- #
45
- bash 'reload nginx' do
46
- code <<-EOH
47
- service nginx reload
48
- EOH
49
-
50
- ignore_failure true
51
- end
52
-
53
-
54
- #command '/etc/init.d/nginx reload'
55
-
@@ -1,27 +0,0 @@
1
- # install PHP app for Nginx
2
-
3
- name = node.run_state['app_name']
4
-
5
- # dir
6
- dir_base = "/var/www/html/#{name}"
7
- dir_logs = "/var/www/logs/#{name}"
8
-
9
- [dir_base, dir_logs].each do |d|
10
- directory d do
11
- recursive true
12
- action :create
13
- end
14
-
15
- end
16
-
17
-
18
- # nginx server
19
-
20
- template "/etc/nginx/conf.d/#{name}.conf" do
21
- source "nginx-sites/app.conf.erb"
22
-
23
-
24
- #owner 'root'
25
- #group 'root'
26
- mode '0775'
27
- end
@@ -1,9 +0,0 @@
1
- # will be run on the host machine
2
-
3
- file '/tmp/example-app-php-intalled.txt' do
4
- content '22'
5
- end
6
-
7
-
8
-
9
-
@@ -1,4 +0,0 @@
1
- Placeholder for a home page.
2
- <br>
3
- site:
4
- <%=node['nginx']['sitename'] %>
@@ -1,55 +0,0 @@
1
- server {
2
- <% if @app['app_port'] %>
3
- listen <%=@app['app_port']%>;
4
- <% else %>
5
- listen 80;
6
- <% end %>
7
-
8
-
9
- <% if @app['app_domain_aliases'] %>
10
- server_name <%=@app['app_domain']%> <%=@app['app_domain_aliases'].join(' ') %>;
11
- <% else %>
12
- server_name <%=@app['app_domain']%>;
13
- <% end %>
14
-
15
-
16
- root /var/www/html/<%=@app_name%>;
17
- index index.html index.htm index.php;
18
- error_page 404 /index.php;
19
-
20
- access_log /var/log/nginx/access.log;
21
- error_log /var/log/nginx/error.log error;
22
-
23
- charset utf-8;
24
-
25
- location / {
26
- try_files $uri $uri/ /index.html /index.php?$query_string;
27
- }
28
-
29
- location = /favicon.ico {
30
- log_not_found off;
31
- access_log off;
32
- }
33
-
34
-
35
-
36
- location = /robots.txt {
37
- access_log off;
38
- log_not_found off;
39
- }
40
-
41
- location ~ \.php$ {
42
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
43
- # With php5-fpm:
44
- fastcgi_pass unix:/var/run/php5-fpm.sock;
45
- fastcgi_index index.php;
46
- include fastcgi_params;
47
- fastcgi_param HTTPS off;
48
- }
49
-
50
- # Deny .htaccess file access
51
- location ~ /\.ht {
52
- deny all;
53
- }
54
-
55
- }
@@ -1,55 +0,0 @@
1
- server {
2
- <% if node.run_state['app']['app_port'] %>
3
- listen <%=node.run_state['app']['app_port']%>;
4
- <% else %>
5
- listen 80;
6
- <% end %>
7
-
8
-
9
- <% if node.run_state['app']['app_domain_aliases'] %>
10
- server_name <%=node.run_state['app']['app_domain']%> <%=node.run_state['app']['app_domain_aliases'].join(' ') %>;
11
- <% else %>
12
- server_name <%=node.run_state['app']['app_domain']%>;
13
- <% end %>
14
-
15
-
16
- root /var/www/html/<%=node.run_state['app_name']%>;
17
- index index.html index.htm index.php;
18
- error_page 404 /index.php;
19
-
20
- access_log /var/log/nginx/access.log;
21
- error_log /var/log/nginx/error.log error;
22
-
23
- charset utf-8;
24
-
25
- location / {
26
- try_files $uri $uri/ /index.html /index.php?$query_string;
27
- }
28
-
29
- location = /favicon.ico {
30
- log_not_found off;
31
- access_log off;
32
- }
33
-
34
-
35
-
36
- location = /robots.txt {
37
- access_log off;
38
- log_not_found off;
39
- }
40
-
41
- location ~ \.php$ {
42
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
43
- # With php5-fpm:
44
- fastcgi_pass unix:/var/run/php5-fpm.sock;
45
- fastcgi_index index.php;
46
- include fastcgi_params;
47
- fastcgi_param HTTPS off;
48
- }
49
-
50
- # Deny .htaccess file access
51
- location ~ /\.ht {
52
- deny all;
53
- }
54
-
55
- }
@@ -1,45 +0,0 @@
1
- server {
2
- listen 80;
3
- server_name localhost <%=node['nginx']['sitename']%> ;
4
-
5
- #charset koi8-r;
6
- #access_log /var/log/nginx/log/access.log main;
7
-
8
- location / {
9
- root /usr/share/nginx/html;
10
- index index.html index.htm;
11
- }
12
-
13
- #error_page 404 /404.html;
14
-
15
- # redirect server error pages to the static page /50x.html
16
- #
17
- error_page 500 502 503 504 /50x.html;
18
- location = /50x.html {
19
- root /usr/share/nginx/html;
20
- }
21
-
22
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
23
- #
24
- #location ~ \.php$ {
25
- # proxy_pass http://127.0.0.1;
26
- #}
27
-
28
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
29
- #
30
- #location ~ \.php$ {
31
- # root html;
32
- # fastcgi_pass 127.0.0.1:9000;
33
- # fastcgi_index index.php;
34
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
35
- # include fastcgi_params;
36
- #}
37
-
38
- # deny access to .htaccess files, if Apache's document root
39
- # concurs with nginx's one
40
- #
41
- #location ~ /\.ht {
42
- # deny all;
43
- #}
44
- }
45
-
@@ -1,14 +0,0 @@
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"}}
@@ -1,6 +0,0 @@
1
- puts "cookbooks from server: #{cookbook_path}"
2
-
3
- cookbook_path cookbook_path+[
4
- '/work/chef-repo/cookbooks-common',
5
- '/work/chef-repo/cookbooks',
6
- ]
@@ -1,19 +0,0 @@
1
- common({
2
- 'prefix' => "example-",
3
- 'image_prefix' => 'example-',
4
- 'dir_data' => '/disk3/data/my-exampless/example-base-chef',
5
-
6
- })
7
-
8
- servers({
9
-
10
- 'my'=>{
11
- # some server options here
12
- }
13
-
14
- })
15
-
16
-
17
- base({
18
-
19
- })
@@ -1,8 +0,0 @@
1
-
2
- # Build
3
-
4
- * build base image first from https://github.com/maxivak/docker-image-phusion-base
5
-
6
- ```
7
- docker build -t my-base-phusion-1604 github.com/maxivak/docker-image-phusion-base.git
8
- ```