ansible中的docker_container模块

docker_container模块

1、docker_container模块主要是用于ansible-playbook操作docker容器的一个模块,使用该模块可以实现批量创建docker容器

   Ansible 中部署 docker 镜像主要需要的是 docker_container, docker_image, docker_service 三个模块。其中 docker_container 用于部署 docker 容器,docker_image 用于编译镜像,docker_service 模块用于部署 docker compose。

  一般ansible-playbook的剧本是这样定义的,例如first.yaml所示:

---
- hosts: all
  remote_user: redis
  vars:
    container_name: "redis"
    container_image: "redis:4.0.1"
    working_dir: "/data/redis_test"

  tasks:
    - name: remove container
      docker_container:
        name: "{{ container_name }}"
        state: absent

    - name: create working_dir directory
      file:
        path: "{{ item }}"
        state: directory
      with_items:
        - "{{ working_dir }}"

    # docker run -p 6379:6379 --name redis -d redis:4.0.1
    - name: create container
      docker_container:
        name: "{{ container_name }}"
        image: "{{ container_image }}"
        ports:
          - "6379:6379"

接着就可以使用ansible-playbook来进行部署了,例如:ansible-playbook -i hosts first.yml

posted @ 2019-05-03 15:50  峰哥ge  阅读(6129)  评论(0编辑  收藏  举报