Docker compose 避免加载Dockerfile和其他yml

Docker compose 避免加载Dockerfile和其他yml,docker-compose,ansible,dockerfile,Docker Compose,Ansible,Dockerfile,我需要将一些Dockerfile和其他.yml同步(rsync)到远程机器。 这些文件位于“host_vars/”文件夹下 运行简单的“同步”ansible命令时,由于Dockerfile不是yml格式,将读取Dockerfile并引发错误。。。(戏剧!)。 此外,如果需要部署docker-compose.yml,则会引发另一个错误 有没有办法告诉ansible不要加载某些选定的文件 设置不同的名称不起作用 Dockerfile错误: ERROR! Syntax Error while load

我需要将一些Dockerfile和其他.yml同步(rsync)到远程机器。
这些文件位于“host_vars/”文件夹下

运行简单的“同步”ansible命令时,由于Dockerfile不是yml格式,将读取Dockerfile并引发错误。。。(戏剧!)。
此外,如果需要部署docker-compose.yml,则会引发另一个错误

有没有办法告诉ansible不要加载某些选定的文件

设置不同的名称不起作用

Dockerfile错误:

ERROR! Syntax Error while loading YAML.
  did not find expected <document start>

The error appears to have been in '/.../Dockerfile line 4, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


RUN apt update && apt install -y graphite-carbon graphite-web nginx supervisor && apt-get autoclean
^ here
谢谢你的帮助

我需要同步(rsync)一些Dockerfile,以及其他.yml到远程机器。 这些文件位于“host_vars/”文件夹下

将非vars文件放在名为
host\u vars
的文件夹中是不合适的。Ansible希望在
host_vars
vars
中找到的所有文件都是JSON或yaml格式的键值对,用于创建隐式变量

如果您想将文件打包以便与您的角色一起旅行,请将其放入
文件
文件夹中;如果它们是参数化的,请将它们放在
templates
文件夹中,从中可以看到

我需要同步(rsync)一些Dockerfile,以及其他.yml到远程机器。 这些文件位于“host_vars/”文件夹下

将非vars文件放在名为
host\u vars
的文件夹中是不合适的。Ansible希望在
host_vars
vars
中找到的所有文件都是JSON或yaml格式的键值对,用于创建隐式变量


如果您想将文件打包以便与您的角色一起旅行,请将其放入
文件
文件夹中;如果它们是参数化的,将它们放在
templates
文件夹中,从中可以看到。

这似乎是一个不寻常的设置:通常
Dockerfile
将被视为应用程序源代码的一部分,并且它将位于源存储库中(在开发人员设置中与其他源代码签出,在生产设置中根本没有安装)。对于更面向生产的使用,您可以将图像推送到Docker注册表,并使用
Docker_容器
模块从中启动容器,而无需重新生成。这似乎是一种不寻常的设置:通常
Docker文件
将被视为应用程序源代码的一部分,并且它将位于源存储库中(在开发人员设置中与其他源代码签出,而在生产设置中根本没有安装)。要获得更面向生产的使用,您可以将图像推送到Docker注册表,并使用
Docker\u容器
模块从中启动容器,而无需重建。
ERROR! failed to combine variables, expected dicts but got a 'dict' and a 'list': 
....