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