Docker cookbook找不到Docker文件

时间:2017-04-18 21:41:48

标签: dockerfile

我有一个Dockerfile我试图使用以下代码构建:

docker_image 'wafflehouse' do
  source '/root/dockerimages/CentOS'
  action :build_if_missing
  read_timeout 6000
  write_timeout 6000
end

使用测试厨房构建失败:

Error executing action `build_if_missing` on resource 'docker_image[wafflehouse]'

No such image: sha256:4eda692c08e0a065cg91d74e82ffxxxxxxxx07b4341ad61fa61771cc4659af60

Docker::Error::NotFoundError

如果我直接在代码中引用Dockerfile:

docker_image 'wafflehouse' do
  source '/root/dockerimages/CentOS/Dockerfile'
  action :build_if_missing
  read_timeout 6000
  write_timeout 6000
end

构建无法找到要复制的Dockerfile中引用的文件:

FROM centos

COPY wafflehouse.repo /etc/yum.repos.d
COPY wafflehouse-artifacts.repo /etc/yum.repos.d
COPY wafflehouse-snapshot-artifacts.repo /etc/yum.repos.d

RUN yum install -y net-tools

CMD ["bash"]

这些文件与Dockerfile位于同一目录中。关于其中任何一个的任何想法?

1 个答案:

答案 0 :(得分:0)

我相信你有dockerfile而不是厨师的问题。 您应该记住,您正在提供要复制的文件源的相对路径。

为了解决这个问题,请尝试使用源路径和目标路径的绝对路径,例如:

FROM centos

COPY /root/dockerimages/CentOS/wafflehouse.repo /etc/yum.repos.d/wafflehouse.repo
COPY /root/dockerimages/CentOS/wafflehouse-artifacts.repo /etc/yum.repos.d/wafflehouse-artifacts.repo
COPY /root/dockerimages/CentOS/wafflehouse-snapshot-artifacts.repo /etc/yum.repos.d/wafflehouse-snapshot-artifacts.repo

RUN yum install -y net-tools

CMD ["bash"]