代码语言:javascript复制
ansible版本:2.9
docker_image用于管理docker镜像
参数:
archive_path: /PATH/NAME.tar # 与state present一起使用时,把镜像归档到.tar文件
build:
args: # 格式:key:value,映射到Dockerfile中ARG指令的参数
dockerfile: # 与state present和source build一起使用时,用于构建Dockerfile镜像
etc_hosts: # 添加到容器中/etc/hosts
network:
path: # 与state present一起使用时,生成镜像
pull: yes | no # 构建镜像时,将会下载Dockerfile中的所有镜像
buildargs: # 格式:key:value,映射到Dockerfile中ARG指令的参数
debug: yes | no # 调试模式
force_absent: yes|no # 与state absent一起使用时,可删除所有与指定名称匹配的镜像
force_source: yes|no
force_tag: yes|no # 与state present一起使用时,可强制标记镜像
load_path: # 与state present一起使用时,可从.tar归档文件中加载镜像,要加载镜像,需要把source设置为load
name: # 镜像的名称,必选参数
path: # 与state present一起使用时,可生成镜像,要生成镜像,需要把source设置为build
pull: yes|no # 构建镜像时,会下载Dockerfile中的所有镜像
push: yes|no # 把镜像推送到仓库
repository:
source: build|load|pull|local
# build:从Dockerfile中构建镜像,使用此值时必须指定build.path
# load:从.tar归档文件中加载镜像,使用此值时必须指定load_path
# pull:从仓库中拉取镜像
# local:
state: absent|present
# absent:删除与名称匹配的镜像
# present:从仓库中接取与名称匹配的镜像
tag: # 设置标签,默认latest
例: 从Docker Hub中拉取nginx:latest镜像
代码语言:javascript复制---
- hosts: HOST
remote_user: root
tasks:
- name: pull nginx image
docker_image:
name: nginx
tag: latest
state: present
source: pull
删除本地的nginx:latest镜像
代码语言:javascript复制---
- hosts: HOST
remote_user: root
tasks:
- name: Delete Nginx image
docker_image:
name: nginx
tag: latest
state: absent
Dockerfile构建镜像
代码语言:javascript复制---
- hosts: HOST
remote_user: root
tasks:
- name: Build Nginx Image
docker_image:
name: nginx
tag: 1.19
source: build
build:
path: /PATH/Dockerfile
pull: yes
归档镜像到.tar文件
从docker hub下载镜像,归档到/data/nginx.tar
代码语言:javascript复制---
- hosts: test
remote_user: root
tasks:
- name: 归档镜像
docker_image:
name: nginx
archive_path: /data/nginx.tar
state: present
source: pull