![](/img/trans.png)
[英]How do I deploy a website on an nginx docker container on a remote machine using ansible playbook?
[英]Run ansible playbook from docker container and deploy on host machine
我想在本地计算机上使用docker容器中的ansible运行ansible剧本。 这是我的Ansible Dockerfile的样子:
FROM alpine:3.6
WORKDIR /ansible
RUN apk update \
&& apk add ansible
ENTRYPOINT ["ansible-playbook"]
playbook.yml:
---
- hosts: localhost
roles:
- osx
角色/ OSX /任务/ 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
我的主机操作系统是OSX。我希望osx角色将执行,但是看来Playbook是在高山容器上运行的。 我想问一下如何在docker中指示可在我的本地计算机上部署内容?
您的剧本的目标是localhost
:
---
- hosts: localhost
roles:
- osx
这意味着Ansible在运行剧本时将以本地计算机(即Ansible容器)为目标。 Ansible旨在将剧本也应用于远程计算机,通常是通过使用ssh
连接到它们。 假设可以使用ssh
从Ansible容器连接到主机,您可以只创建一个适当的清单文件,然后适当地定位您的剧本:
---
- hosts: my_osx_host
roles:
- osx
如果您只是从Ansible开始,则可能要从“ 入门”文档开始,然后从那里开始。 您可以在该站点上找到文档,这些文档将引导您完成创建清单文件的过程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.