如何在chef-client

时间:2016-10-03 12:26:59

标签: docker chef

我手动使用docker时有一些好东西。我想用厨师实现docker。作为厨师的初学者,我写了一个示例docker-file,它将在centos上安装httpd服务:7。

我的docker文件位于Cookbook> docker>默认> Dockerfile

在我的食谱中,我写了一个命令,在chef-client上执行Dockerfile。当我在客户端上运行(命令chef-client -r recipe[docker::testing])时,我收到错误。

我有两个问题

  1. 我是否按照流程进行操作,例如放置泊坞文件并编写配方。
  2. 实际配方可以为dockerfile做什么
  3. 食谱:我的食谱位于食谱>食谱> testing.rb

    cookbook_file '/etc/Dockerfile' do
       source 'Dockerfile'
    end
    
    execute 'Dockerfile' do
      user "root"
      command 'docker build -t sample:latest .'
      action :run
    end
    

    Dockerfile:

    FROM centos:6
    MAINTAINER Kumar
    RUN yum -y update
    RUN YUM -y install httpd
    

    错误:

    Recipe Compile Error
    ================================================================================
    
    Chef::Exceptions::RecipeNotFound
    --------------------------------
    could not find recipe default for cookbook docker
    

    请帮忙。

1 个答案:

答案 0 :(得分:0)

跟你说话很难。您引用的错误可能来自您的食谱中的一行

include_recipe "docker"

include_recipe "docker::default"

为什么失败的原因是你的docker食谱没有名为default的食谱。

一旦修复,我建议你打开一个关注其他问题的新问题。