网站搜索

在 Ansible 中使用 Docker Compose


幸运的是,在Ansible生态系统中,我们可以使用“community.docker_compose”模块,该模块提供了一种自动化管理Docker Compose项目的方法。

如果您不熟悉,Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。

使用 Ansible 的 docker_compose 模块,我们可以直接从 Ansible playbook 管理这些应用程序的生命周期,从而对容器编排进行编程控制。

本教程探索了如何使用 Docker Compose 模块来自动化容器编排。

先决条件:

  • 安装了Ansible
  • 在目标机器上安装了 Docker 和 Docker Compose

安装 Docker 集合

docker_compose模块是“community.docker”集合的一部分。因此,我们需要确保在使用之前安装该集合。

ansible-galaxy collection install community.docker

例子:

例子 1:开始一个 Docker Compose 项目

如果我们有一个“docker-compose.yml”文件来定义应用程序配置,我们可以使用这个模块如下启动它:

Docker-compose.yml

version: '3'

services:

web:

image: nginx:alpine ports:

- "80:80"

我们可以使用 Ansible 和 docker_compose 模块,如下所示:

---
- hosts: localhost
tasks:

- name: Start docker compose project community.docker.docker_compose:

project_src: ./docker-compose.yml state: present

例子 2:停止 Docker Compose 项目

要停止项目中运行的服务,我们可以使用以下剧本:

---
- hosts: localhost
tasks:

- name: Stop docker compose project community.docker.docker_compose:

project_src: ./docker-compose.yml state: absent

结论

我们介绍了使用 Ansible docker_compose 模块管理 Docker 项目的基础知识。请在以下链接中查阅该模块的文档,以了解更多信息:

https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_module.html