Ansible 中部署 docker 镜像主要需要的是 docker_container, docker_image, docker_service 三个模块。其中 docker_container 用于部署 docker 容器,docker_image 用于编译镜像,docker_service 模块用于部署 docker compose。
cat docker-redis.yml
- hosts: gitlab
remote_user: root
vars:
container_name: redis
container_image: "redis:4.0.1"
tasks:
- name: remove container
docker_container:
name: "{{ container_name }}"
state: absent
- name: create a container
docker_container:
name: "{{ container_name }}"
image: "{{ container_image }}"
ports: "6379:6379"
运行:
ansible-playbook docker-redis.yml