AnsiblePilot — Master Ansible Automation
AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.
Popular Topics
About Luca Berton
Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.
Install Docker in Windows-like systems - Ansible module win_chocolatey — Video Tutorial
How to automate the installation of the latest version of Docker Desktop in your Windows-like system with Ansible Playbook and Chocolatey.
What You'll Learn
- How to Install Docker in Windows-like systems with Ansible?
- Ansible module win_chocolatey
- Parameters
- Links
- code
- execution
- idempotency
- Conclusion
- Related Articles
Full Tutorial Content
How to Install Docker in Windows-like systems with Ansible?
Today I'm going to reveal how to install the software in a Windows-managed host using Chocolatey Package Manager.
I'm Luca Berton and welcome to today's episode of Ansible Pilot.
Ansible module win_chocolatey
- `chocolatey.chocolatey.win_chocolatey`
- Manage packages using chocolatey
Chocolatey is the package manager for windows, it has the largest online registry of Windows packages.
At the moment it contains nearly 9000 Community Maintained Packages.
Today we're talking about Ansible module `win_chocolatey` to automate the software installation process.
The full name is `chocolatey.chocolatey.win_chocolatey`, which means that is part of the collection distributed by "chocolatey".
It manages packages in Windows using chocolatey. It's the windows correspondent of the ansible package module.
Parameters
- name list-string - the name of the package
- state string - present/latest/absent/downgrade/reinstalled
- version string - specific version
The parameter list is pretty wide but this four are the most important options.
In the "name" parameter you are going to specify the name of the package or a list of packages.
If you would like to install a specific version you could specify it in the "version" parameter.
The state specifies the action that we would like to perform. In our case installation is "present or latest".
Links
- [Docker Desktop via Chocolatey](https://community.chocolatey.org/packages/docker-desktop)
## Playbook
Install Docker in Windows-like systems with Ansible Playbook.
code
```yaml
---
- name: install Docker
hosts: all
become: false
gather_facts: false
tasks:
- name: Install Docker
chocolatey.chocolatey.win_chocolatey:
name: "docker-desktop"
state: present
```
execution
```bash
ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory install\ Docker/windows.yml
PLAY [install Docker] *****************************************************************************
TASK [Install Docker] *****************************************************************************
changed: [WindowsServer]
PLAY RECAP ****************************************************************************************
WindowsServer : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ansible-pilot $
```
idempotency
```bash
ansible-pilot $ ansible-playbook -i virtualmachines/win/inventory install\ Docker/windows.yml
PLAY [install Docker] *****************************************************************************
TASK [Install Docker] *****************************************************************************
ok: [WindowsServer]
PLAY RECAP ****************************************************************************************
WindowsServer : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ansible-pilot $
```
[code with ❤️ in GitHub](https://git
About This Tutorial
- Author: Luca Berton
- Difficulty: Beginner
- Read time: 2 min
- Category: installation
Read the full written article: Install Docker in Windows-like systems - Ansible module win_chocolatey