我正在尝试在 docker 容器中重用现有的食谱,但大多数食谱将在 chef 客户端运行期间启动服务(例如 tomcat、apache2)。由于 chef-solo 在映像创建期间运行,因此 chef 运行将失败。
如何阻止食谱启动服务?
我正在使用以下 Dockerfile
FROM jr42/chef-solo-centos
ADD chef /chef
RUN cd /chef && /opt/chef/embedded/bin/berks vendor /chef/cookbooks
RUN chef-solo -N mynode -c /chef/solo.rb -j /chef/solo.json
我的运行手册中的 tomcat(solo.json):
{
"tomcat": {
"base_version": ""
},
"run_list": [ "recipe[tomcat]" ]
}
和 Berksfile:
source "https://supermarket.getchef.com"
metadata
cookbook 'tomcat'