gpt4 book ai didi

docker - 从 docker 容器运行 ansible playbook 并部署在主机上

转载 作者:行者123 更新时间:2023-12-01 12:09:30 25 4
gpt4 key购买 nike

我想使用来自 docker 容器的 ansible 在我的本地机器上运行 ansible playbook。这是我的 Ansible Dockerfile 的样子:

FROM alpine:3.6

WORKDIR /ansible

RUN apk update \
&& apk add ansible

ENTRYPOINT ["ansible-playbook"]

剧本.yml:

---
- hosts: localhost
roles:
- osx

角色/osx/tasks/main.yml

---
- name: Welcome
shell: echo "Hello"
when: ansible_distribution == 'MacOSX'

然后我运行它:

docker build -t ansible_image:latest .
docker run --rm --network host \
-v $(pwd):/ansible \
ansible_image:latest ansible/playbook.yml

我的主机操作系统是 OS X。我希望 osx 角色会执行,然而,剧本似乎是在 Alpine 容器上运行的。我想问一下如何在 docker 中指示 ansible 在我的本地机器上部署东西?

最佳答案

您的 playbook 的目标是 localhost:

---
- hosts: localhost
roles:
- osx

这意味着 Ansible 将针对本地机器(即也就是说,你的 Ansible 容器)在运行剧本时。 Ansible 是旨在将剧本也应用于远程机器,通常通过使用 ssh 连接到它们。假设有可能使用 ssh 从你的 Ansible 容器连接到你的主机,你可以创建一个适当的库存文件,然后定位您的适当的剧本:

---
- hosts: my_osx_host
roles:
- osx

如果您刚开始使用 Ansible,您可能希望从Getting Started记录并从那里开始工作。您会在该网站上找到文档,这些文档应该会引导您完成创建库存文件的过程。

关于docker - 从 docker 容器运行 ansible playbook 并部署在主机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53133947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com