小编riv*_*ar_的帖子

Ansible - 是否可以向库存内的主机添加标签?

正如主题所说,我的问题是是否可以向清单中描述的主机添加标签?

我的目标是能够在具有该特定标签的特定主机/主机组上运行 ansible-playbook,例如仅在带有标签“Env=test 和 Type=test”的服务器上运行

例如,当我运行剧本时:

ansible-playbook -i hosts test.yml --extra-vars "Env=${test} Type=${test}"
Run Code Online (Sandbox Code Playgroud)

我将在命令中传递标签,它只会在过滤后的主机上运行。

非常感谢!

更新:

或者,也许在动态库存中做类似的事情?https://docs.ansible.com/ansible/latest/dev_guide/developing_inventory.html#developing-inventory

[tag_Name_staging_foo]

[tag_Name_staging_bar]

[staging:children]
tag_Name_staging_foo
tag_Name_staging_bar
Run Code Online (Sandbox Code Playgroud)

ansible ansible-2.x ansible-inventory

4
推荐指数
1
解决办法
7293
查看次数

将 args 传递给 Dockerfile 中的 python 脚本

我希望能够将 docker-compose file > dockerfile 中的 Args 传递给运行接受参数的 python 脚本的 CMD/ENTRYPOINT

ARG INSTANCE_NUM
ENV INSTANCE_NUM=$INSTANCE_NUM
RUN echo $INSTANCE_NUM
ARG TOTAL_INSTANCES
ENV TOTAL_INSTANCES=$TOTAL_INSTANCES
RUN echo $TOTAL_INSTANCES

CMD ["python", "test.py", "$INSTANCE_NUM", 
"$TOTAL_INSTANCES"]
Run Code Online (Sandbox Code Playgroud)

在运行构建时, RUN echo $INSTANCE_NUM 和 RUN echo $TOTAL_INSTANCES 打印在 docker-compose 文件中设置的实际值,但是

当前的结果是 python 脚本按原样接受 ARGS,而不接受 docker-compose 文件中给出的值。例如,如果打印出它的 str $INSTANCE_NUM 或 str $TOTAL_INSTANCES 我希望能够获得我在 docker-compose 文件中为传递的 ARG 设置的实际值。

请协助,也许我在这里遗漏了一些东西或者只是没有正确理解。

谢谢!

python-2.7 docker dockerfile docker-compose

3
推荐指数
1
解决办法
2426
查看次数