Docker compose 避免加载Dockerfile和其他yml
我需要将一些Dockerfile和其他.yml同步(rsync)到远程机器。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
这些文件位于“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':
....