containers.podman.podman_image 模块 – 拉取 Podman 可用的镜像
注意
此模块是 containers.podman 集合 (版本 1.16.2) 的一部分。
如果您正在使用 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install containers.podman
。
要在 playbook 中使用它,请指定: containers.podman.podman_image
。
概要
使用 Podman 构建、拉取或推送镜像。
参数
参数 |
注释 |
---|---|
容器镜像的 CPU 架构 |
|
指向包含远程注册表授权凭据的文件的路径。 |
|
控制镜像构建的参数。 默认值: |
|
要添加到镜像的键值对字典。仅适用于 OCI 镜像。对于 Docker 容器,将被忽略。 |
|
构建镜像时是否使用缓存层 选项
|
|
要用于构建镜像的 Containerfile 内容。与 |
|
如果执行,则传递给构建的额外参数。不会幂等地检查新的构建参数。 |
|
如果 Containerfile 不在构建上下文目录中,则指向 Containerfile 的路径。与 |
|
即使构建失败,也始终在构建后删除中间容器。 选项
|
|
构建镜像的格式。 选项
|
|
在成功构建后删除中间容器 选项
|
|
指定要构建的目标构建阶段。 |
|
指定多个卷/挂载选项,以将一个或多个挂载点挂载到容器。 |
|
指向包含要使用的 TLS 证书和密钥的目录的路径。 |
|
如果 默认值: |
|
是否强制推送或拉取镜像。 在构建时,即使镜像已存在,也强制构建。 选项
|
|
要拉取、推送或删除的镜像的名称。它可以使用 |
|
对远程注册表进行身份验证时使用的密码。 |
|
构建上下文目录的路径。 |
|
是否拉取镜像。 选项
|
|
要传递给 pull 命令的额外参数。 |
|
是否推送镜像。 选项
|
|
控制推送镜像的参数。 默认值: |
|
使用 'dir' 传输方式推送至目录时,是否压缩 tarball 镜像层。 选项
|
|
将镜像推送到的路径或 URL。 |
|
如果执行,则传递给 push 的额外参数。不会幂等地检查新的 push 参数。 |
|
使用“dir”传输方式推送镜像时使用的清单类型(默认为源的清单类型) 选项
|
|
丢弃镜像中任何预先存在的签名 选项
|
|
用于签署镜像的密钥文件路径。 |
|
推送镜像时使用的传输方式。如果没有设置传输方式,将尝试推送到远程注册表 选项
|
|
写入 quadlet 文件的目录路径。默认情况下,对于 root 用户,它将设置为 |
|
quadlet 文件的权限。
如果未指定 如果未指定 指定 |
|
要写入的 quadlet 文件名。默认情况下,它采用不带前缀和标签的镜像名称。 |
|
quadlet 文件的选项。提供通常网络参数选项中缺少的选项,作为要添加的行列表。 |
|
镜像是否存在、不存在或是否已构建。 选项
|
|
要拉取、推送或删除的镜像的标签。 默认值: |
|
用于向远程注册表进行身份验证的用户名。 |
|
拉取或推送时要求使用 HTTPS 并验证证书。如果需要拉取或推送,则在构建过程中也会使用。 选项
|
示例
- name: Pull an image
containers.podman.podman_image:
name: quay.io/bitnami/wildfly
- name: Remove an image
containers.podman.podman_image:
name: quay.io/bitnami/wildfly
state: absent
- name: Remove an image with image id
containers.podman.podman_image:
name: 0e901e68141f
state: absent
- name: Pull a specific version of an image
containers.podman.podman_image:
name: redis
tag: 4
- name: Build a basic OCI image
containers.podman.podman_image:
name: nginx
path: /path/to/build/dir
- name: Build a basic OCI image with advanced parameters
containers.podman.podman_image:
name: nginx
path: /path/to/build/dir
build:
cache: no
force_rm: true
format: oci
annotation:
app: nginx
function: proxy
info: Load balancer for my cool app
extra_args: "--build-arg KEY=value"
- name: Build a Docker formatted image
containers.podman.podman_image:
name: nginx
path: /path/to/build/dir
build:
format: docker
- name: Build and push an image using existing credentials
containers.podman.podman_image:
name: nginx
path: /path/to/build/dir
push: true
push_args:
dest: quay.io/acme
- name: Build and push an image using an auth file
containers.podman.podman_image:
name: nginx
push: true
auth_file: /etc/containers/auth.json
push_args:
dest: quay.io/acme
- name: Build and push an image using username and password
containers.podman.podman_image:
name: nginx
push: true
username: bugs
password: "{{ vault_registry_password }}"
push_args:
dest: quay.io/acme
- name: Build and push an image to multiple registries
containers.podman.podman_image:
name: "{{ item }}"
path: /path/to/build/dir
push: true
auth_file: /etc/containers/auth.json
loop:
- quay.io/acme/nginx
- docker.io/acme/nginx
- name: Build and push an image to multiple registries with separate parameters
containers.podman.podman_image:
name: "{{ item.name }}"
tag: "{{ item.tag }}"
path: /path/to/build/dir
push: true
auth_file: /etc/containers/auth.json
push_args:
dest: "{{ item.dest }}"
loop:
- name: nginx
tag: 4
dest: docker.io/acme
- name: nginx
tag: 3
dest: docker.io/acme
- name: Pull an image for a specific CPU architecture
containers.podman.podman_image:
name: nginx
arch: amd64
- name: Build a container from file inline
containers.podman.podman_image:
name: mycustom_image
state: build
build:
container_file: |-
FROM alpine:latest
CMD echo "Hello, World!"
- name: Create a quadlet file for an image
containers.podman.podman_image:
name: docker.io/library/alpine:latest
state: quadlet
quadlet_dir: /etc/containers/systemd
quadlet_filename: alpine-latest
quadlet_file_mode: '0640'
quadlet_options:
- Variant=arm/v7
- |
[Install]
WantedBy=default.target
返回值
常见的返回值已在此处 记录,以下是此模块独有的字段
键 |
描述 |
---|---|
已拉取、推送或构建的镜像的镜像检查结果。 返回:成功 示例: |