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