[英]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.