2

我正在使用 Molecule 来测试一些 Ansible 角色。我想将一些文件推送到用于测试的 docker 映像。为此,我将测试文件放在了分子文件夹中,并将 ADD/COPY 命令添加到 Dockerfile.j2 文件中。我的文件夹结构如下所示:

- ansible-role-foo/
  - molecule/
    - default/
      - Dockerfile.j2
      - myTestFile.txt
      - ...

Dockerfile.j2:

# Molecule managed
...

RUN mkdir -p /my/path
COPY myTestFile.txt /my/path

启动时molecule --debug converge,我收到以下错误:

COPY failed: stat /var/lib/docker/tmp/docker-builder266739241/myTestFile.txt: no such file or directory

我正在使用分子 2.18.1。

如何在分子的上下文中正确地将 myTestFile.txt 包含在 docker 映像中?

4

2 回答 2

2

你也可以只内联内容:

RUN echo $'\n\
my file content\n\
' > /tmp/myfile
于 2019-02-04T17:46:15.827 回答
1

/var/lib/docker/tmp/docker-builder266739241/myTestFile.txt 显然,你的问题有答案。你应该把你的文本文件放在提到的目录中,看看它是否通过。否则,您应该尝试提供文本文件所在的完整路径。 GetFileAttributesEx c:RUN:系统找不到指定的文件。

于 2019-01-01T11:22:06.007 回答