Documentation
docker_compose
Manage Docker Compose projects for multi-container applications.
Attributes
check_mode:
support: full
```}
## Parameters
| Parameter | Required | Type | Values | Description |
|----------------|----------|---------|------------------------------------------------------|----------------------------------------------------------|
| build | | boolean | | Build images before starting. |
| files | | array | | List of compose files to use. |
| force_recreate | | boolean | | Force recreation of containers. |
| no_deps | | boolean | | Do not start linked services. |
| project_name | | string | | Custom project name. |
| project_src | true | string | | Path to the docker-compose project directory. |
| pull | | boolean | | Pull images before starting. |
| remove_images | | boolean | | Remove images when removing project (state=absent). |
| remove_orphans | | boolean | | Remove orphans (containers not defined in compose file). |
| remove_volumes | | boolean | | Remove volumes when removing project (state=absent). |
| scale | | object | | Scale mapping for services (e.g., {"web": 3). |
| services | | array | | List of specific services to manage. |
| state | | string | absent<br>present<br>restarted<br>started<br>stopped | Desired state of the project. |
| timeout | | integer | | Timeout in seconds for operations. |
## Example
```yaml
- name: Start a docker-compose project
docker_compose:
project_src: /app
state: started
- name: Stop a docker-compose project
docker_compose:
project_src: /app
state: stopped
- name: Remove a docker-compose project
docker_compose:
project_src: /app
state: absent
- name: Restart a docker-compose project
docker_compose:
project_src: /app
state: restarted
- name: Start specific services
docker_compose:
project_src: /app
state: started
services:
- web
- db
- name: Pull images before starting
docker_compose:
project_src: /app
state: started
pull: true
- name: Scale services
docker_compose:
project_src: /app
state: started
scale:
web: 3
worker: 5
- name: Use a specific compose file
docker_compose:
project_src: /app
files:
- docker-compose.yml
- docker-compose.prod.yml
state: started
- name: Build images before starting
docker_compose:
project_src: /app
state: started
build: true
- name: Start with a custom project name
docker_compose:
project_src: /app
project_name: myproject
state: started