Ansible将Docker容器部署到错误的Vagrant VM

时间:2017-02-02 12:57:58

标签: jenkins docker vagrant ansible containers

在尝试@ konstantin-suvorov解决方案后更新。现在它什么也没做。

我创建了5个Vagrant虚拟机,全部来自bento / xenial64,然后使用Ansible将docker部署到所有机器上。

当我尝试使用Ansible将容器部署到远程VM上时,它表示它已经完成了,但容器正在本地计算机上运行。

我的4台机器是: 控制 cluster01 cluster02 cluster03 cluster04

Docker已在所有5

上启动并运行

从VM控件,我运行

ansible-playbook -i hosts/local jenkins.yml

我的广告资源文件是

[control]
10.100.100.100

[cluster]
10.100.100.101
10.100.100.102
10.100.100.103
10.100.100.104

[master]
10.100.100.101

这是我的詹金斯剧本

---
- hosts: master
  remote_user: ubuntu
  serial: 1
  roles:
    - jenkins

这是我的詹金斯角色

---
- name: Container is running
  docker_container:
    name: jenkins
    image: "jenkins:{{ jenkins_version }}"
    ports: 8080:8080
    volumes:
      - "{{ jenkins_home_dir }}:/var/jenkins_home"

运行ansible-playbook后,使用非常非常详细的选项,并为流浪汉机器添加库存,

vagrant@control:/vagrant$ ansible-playbook -i hosts/local jenkins.yml -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory -vvvv
Using /vagrant/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc

PLAYBOOK: jenkins.yml **********************************************************
1 plays in jenkins.yml

PLAY RECAP *********************************************************************

我做错了什么?

1 个答案:

答案 0 :(得分:1)

远程节点中删除ansible_connection=local

如果ansible_connectionlocal,Ansible将在本地(控制)主机上运行所有任务。