Configures Docker CE on an Ubuntu or ArchLinux host, optionally also configuring swarm.
No requirements.
Variable | Type | Default | Description |
---|---|---|---|
swarm_enable | yes|no | no | Configure docker in swarm mode or standalone |
swarm_role | manager|worker | manager | If in swarm mode, configures whether to be manager or worker |
swarm_advertise_addr | IP[:Port] | {{ansible_default_ipv4.address}} | The swarm advertise address |
swarm_join | yes|no | no | If yes, joins an existing swarm |
swarm_join_host | IP | '' | The host to use when joining an existing swarm |
swarm_join_port | Port Number | 2377 | The port to join on when joining an existing swarm |
swarm_manager_join_token | String | '' | The manager join token. If creating a swarm, will be set in the hostvars |
swarm_worker_join_token | String | '' | The worker join token. If creating a swarm, will be set in the hostvars |
None
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: all
name: Gather facts from all hosts
tasks: []
- hosts: leader
become: yes
become_user: root
vars:
ansible_python_interpreter: /usr/bin/python3 # Force ansible to use python3 - Ubuntu doesn't ship with 2 by default
swarm_enable: yes
swarm_advertise_addr: "{{ansible_default_ipv4.address}}:2377"
roles:
- name: ansible-docker
- hosts: managers
become: yes
become_user: root
vars:
ansible_python_interpreter: /usr/bin/python3
swarm_enable: yes
swarm_join: yes
swarm_advertise_addr: "{{ansible_default_ipv4.address}}:2377"
swarm_join_host: "{{hostvars['leader']['ansible_default_ipv4']['address']}}"
swarm_manager_join_token: "{{hostvars['leader']['swarm_manager_join_token']}}"
roles:
- name: ansible-docker
- hosts: workers
become: yes
become_user: root
vars:
ansible_python_interpreter: /usr/bin/python3
swarm_enable: yes
swarm_role: worker
swarm_join: yes
swarm_advertise_addr: "{{ansible_default_ipv4.address}}:2377"
swarm_join_host: "{{hostvars['leader']['ansible_default_ipv4']['address']}}"
swarm_worker_join_token: "{{hostvars['leader']['swarm_worker_join_token']}}"
roles:
- name: ansible-docker
MIT