使用Ansible运行’docker volume create’?

前端之家收集整理的这篇文章主要介绍了使用Ansible运行’docker volume create’?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Rails应用程序,我通过Ansible在Docker容器中部署.我的应用包括目前为止的三个容器:

> Docker卷容器(使用docker volume create –name dbdata创建)
> Postgres容器(包含volumes_from dbdata)
> Rails应用程序容器(链接到postgres容器)

我的部署playbook正在运行,但我不得不通过SSH在服务器上运行docker volume create命令.我喜欢通过Ansible这样做,所以我可以将一个新的应用程序实例部署到一个空容器中.

有没有办法通过Ansible运行docker volume create,还是有其他方法可以做到这一点?我检查了Ansible Docker模块的文档,但看起来它们还不支持volume create.除非我错过了什么?

最佳答案
这是一个选项,使用命令模块.

- hosts: localhost
  tasks:
    - name: check if myvolume exists
      command: docker volume inspect myvolume
      register: myvolume_exists
      Failed_when: false

    - name: create myvolume
      command: docker volume create --name myvolume
      when: myvolume_exists|Failed

我们首先使用docker volume inspect检查卷是否存在.我们将该任务的结果保存在变量myvolume_exists中,然后我们只在检查任务失败时创建该卷.

猜你在找的Docker相关文章