2017-12-05 3 views
0

Ich lerne Docker mit Buch docker in der Praxis.undefined Methode `source_url 'für # <Chef :: Kochbuch :: Metadaten: 0x000000006f1378>

Ich arbeite an Technik 47 in Kapitel 5

Dieses Rezept ist über Koch mit Docker Konfigurationen für die Verwaltung. Der GitHub-Link lautet here.

Wenn ich das Docker-Bild aus dem Container erstellen, stoße ich unten Fehler.

$ docker build -t chef-example . 
Sending build context to Docker daemon 9.728kB 
Step 1/12 : FROM ubuntu:latest 
---> ccc7a11d65b1 
Step 2/12 : RUN apt-get update && apt-get install -yy git curl 
---> Using cache 
---> ef956c61c59f 
Step 3/12 : RUN curl -L https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.3.5-1_amd64.deb -o chef.deb 
---> Using cache 
---> 1260301dbe67 
Step 4/12 : RUN dpkg -i chef.deb && rm chef.deb 
---> Using cache 
---> 8c1aeaf84423 
Step 5/12 : COPY . /chef 
---> 18986195e732 
Removing intermediate container 758dfce43670 
Step 6/12 : WORKDIR /chef/cookbooks 
---> fbdd9c386801 
Removing intermediate container 936393187cb4 
Step 7/12 : RUN knife cookbook site download apache2 
---> Running in 2ba7d0765ae2 
WARNING: No knife configuration file found 
Downloading apache2 from the cookbooks site at version 5.0.1 to /chef/cookbooks/apache2-5.0.1.tar.gz 
Cookbook saved: /chef/cookbooks/apache2-5.0.1.tar.gz 
---> 8b3fa14f4416 
Removing intermediate container 2ba7d0765ae2 
Step 8/12 : RUN knife cookbook site download iptables 
---> Running in 94275acfdb44 
WARNING: No knife configuration file found 
Downloading iptables from the cookbooks site at version 4.3.1 to /chef/cookbooks/iptables-4.3.1.tar.gz 
Cookbook saved: /chef/cookbooks/iptables-4.3.1.tar.gz 
---> c8a4c6d17253 
Removing intermediate container 94275acfdb44 
Step 9/12 : RUN knife cookbook site download logrotate 
---> Running in 27b5f736d6cf 
WARNING: No knife configuration file found 
Downloading logrotate from the cookbooks site at version 2.2.0 to /chef/cookbooks/logrotate-2.2.0.tar.gz 
Cookbook saved: /chef/cookbooks/logrotate-2.2.0.tar.gz 
---> 1b4b4460bdc9 
Removing intermediate container 27b5f736d6cf 
Step 10/12 : RUN /bin/bash -c 'for f in $(ls *gz); do tar -zxf $f; rm $f; done' 
---> Running in 7e6b912d910e 
---> d5e77acc14f1 
Removing intermediate container 7e6b912d910e 
Step 11/12 : RUN chef-solo -c /chef/config.rb -j /chef/attributes.json 
---> Running in a0c7f7f7a00a 
[2017-12-05T08:01:08+00:00] INFO: Forking chef instance to converge... 
[2017-12-05T08:01:08+00:00] INFO: *** Chef 11.18.0.rc.1 *** 
[2017-12-05T08:01:08+00:00] INFO: Chef-client pid: 9 
[2017-12-05T08:01:09+00:00] INFO: Setting the run_list to 
["recipe[apache2::default]", "recipe[mysite::default]"] from CLI options 
[2017-12-05T08:01:09+00:00] INFO: Run List is 
[recipe[apache2::default], recipe[mysite::default]] 
[2017-12-05T08:01:09+00:00] INFO: Run List expands to [apache2::default, mysite::default] 
[2017-12-05T08:01:09+00:00] INFO: Starting Chef Run for 8089fe031125 
[2017-12-05T08:01:09+00:00] INFO: Running start handlers 
[2017-12-05T08:01:09+00:00] INFO: Start handlers complete. 
[2017-12-05T08:01:09+00:00] ERROR: Running exception handlers 
[2017-12-05T08:01:09+00:00] ERROR: Exception handlers complete 
[2017-12-05T08:01:09+00:00] FATAL: Stacktrace dumped to /chef/cache/chef-stacktrace.out 
[2017-12-05T08:01:09+00:00] ERROR: undefined method `source_url' for #<Chef::Cookbook::Metadata:0x000000006f1378> 
[2017-12-05T08:01:09+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 
The command '/bin/sh -c chef-solo -c /chef/config.rb -j /chef/attributes.json' returned a non-zero code: 1 

Ich bin neu zu Chef. Nicht sicher, warum ich diesen Fehler bekomme.

Antwort

1

Ihr Kochbuch hat keine metadata.rb, die wahrscheinlich Dinge bricht, aber Sie verwenden auch Chef 11.18, die zu diesem Zeitpunkt völlig außer Unterstützung ist. Aktueller Koch ist 13.6.4.

Auch empfehlen wir in den meisten Fällen die Verwendung von Chef nicht zum Erstellen von Containerbildern. Es kann definitiv funktionieren, aber insgesamt wurde Chef entwickelt, um Server zu verwalten, so dass dies in den meisten Fällen zu serverähnlichen fetten Bildern führen wird.

Verwandte Themen