2016-05-12 9 views
1

シェフとプロビジョニングされたドッカー画像を作成しようとしています。それは私のために以下のDockerfileとシェフのレシピで動作します。シェフとドッカー画像のプロビジョニング

#Dockerfile 
FROM centos:7 
RUN yum install -y wget 
RUN wget https://packages.chef.io/stable/el/7/chefdk-0.13.21-1.el7.x86_64.rpm 
RUN yum install -y chefdk-0.13.21-1.el7.x86_64.rpm 
COPY cookbooks cookbooks 
RUN cd cookbooks/hs_price_verification && berks install && berks vendor cookbooks && chef-client -z --override-runlist hs_price_verification 

#default.rb 
include_recipe 'git' 
package 'yum-utils' 
execute 'yum --enablerepo=base clean metadata' 
execute 'yum update -y || true' 
execute 'yum-config-manager --enable cr' 
domain=node['domainsname'] 

私はDockerfile

... 
RUN cd cookbooks/hs_price_verification && berks install && berks vendor cookbooks 
RUN chef-client -z --override-runlist hs_price_verification 

に、独自のRUNラインにシェフ-clientコマンドを移動した場合しかし、私は「バークスの結果のような

================================================================================ 
Error Resolving Cookbooks for Run List: 
================================================================================ 

Missing Cookbooks: 
------------------ 
No such cookbook: git 

そのは&をインストールエラーが出ます& berks vendor cookbooks 'がDockerfileの同じ行にあり、コマンドを移動すると' cache 'が失われます。

誰でも説明できますか?

答えて

1

DockerはそれぞれRUN行を独自のコマンドで実行します。これは、前の行のcdがそこに影響を与えないことを意味します。

関連する問題