如果之前都ok,接下來要copy檔案到大家都在用的 docker了
docker部份
步驟1:
我使用 docker desktop ,打開終端機執行以下:
docker run --name server1 -d -P chusiang/ansible-managed-node:ubuntu-14.04
##使用者帳戶
# | | username | password |
# |-----------|----------|----------|
# | root user | root | root |
# | sudo user | docker | docker |
參考怎麼用 Docker 練習 Ansible
(寫的很好)
步驟2:
通常大家都會使用 portainer 如下:
注意以下的 port:49153 及 name:server1
ansible部份
資產清單 inventory.ini 加入以下:
[web7] #docker
server1 ansible_ssh_host=192.168.0.64 ansible_ssh_port=49153 ansible_ssh_pass=docker
ansible-paybook修改 hosts: web7 , ansible_become_pass: docker 其它與上一章相同
- hosts: web7
name: play-test
gather_facts: no
become: yes
vars:
ansible_become: yes
ansible_become_method: sudo
ansible_become_pass: docker
tasks:
- name: Create a directory if it does not exist
file:
path: /etc/test
state: directory
- name: copy files from local to remote
copy:
src: files/test.txt
dest: /etc/test/test.txt
執行以下,會出ok畫面如下:
joulong@joulong1:~/playbook/docker$ ansible-playbook -i inventory.ini playbook6.yml
PLAY [play-test] *********************************************************************************************************************************************************************************************
TASK [Create a directory if it does not exist] ***************************************************************************************************************************************************************
changed: [server1]
TASK [copy files from local to remote] ***********************************************************************************************************************************************************************
changed: [server1]
PLAY RECAP ***************************************************************************************************************************************************************************************************
server1 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
再到portainer看是否有 copy 過來如下: