Ich versuche ein Docker-Bild zu erstellen, das mit einem Koch bereitgestellt wird. Es funktioniert für mich mit folgendem Dockerfile und Kochrezept.Provisioning eines Docker-Bilds mit Küchenchef
#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']
Allerdings, wenn ich Koch-Client-Befehl seine eigene RUN Linie in der Dockerfile
...
RUN cd cookbooks/hs_price_verification && berks install && berks vendor cookbooks
RUN chef-client -z --override-runlist hs_price_verification
bewegen bekomme ich einen Fehler
================================================================================
Error Resolving Cookbooks for Run List:
================================================================================
Missing Cookbooks:
------------------
No such cookbook: git
Es ist wie die Ergebnisse der ‚berks installieren & & berks vendor cookbooks 'ist auf der gleichen Zeile der Dockerfile verfügbar und wenn ich den Befehl verschiebe, ist der' Cache 'verloren.
Kann mir jemand erklären?