2017-12-05 8 views
0

実際にブックドッカーを使ってドッカーを学んでいます。定義されていないメソッド 'source_url' for#<Chef :: Cookbook :: Metadata:0x000000006f1378>

私はこのレシピは、ドッキングウィンドウの設定を管理するためのシェフの使用についてである第5章

手法47に取り組んでいます。 githubリンクはhereです。

コンテナからドッカー画像を作成すると、以下のエラーが発生します。

$ 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 

私はシェフを新しくしました。なぜこのエラーが出るのか分かりません。

答えて

1

あなたの料理本にはおそらく壊れているmetadata.rbはありませんが、シェフ11.18も使用しています。この時点では完全にサポート外です。現在のシェフは13.6.4です。

また、シェフを使用してコンテナイメージを作成することはほとんどありません。それは間違いなく機能しますが、シェフ全体がサーバーを管理するように構築されているため、ほとんどの場合、サーバーのような太ったイメージが表示されます。

関連する問題