ansible之docker_image模块

2022-10-27 15:37:37 浏览数 (2)

代码语言: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

0 人点赞