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 架构 |
|
包含远程注册表授权凭据的文件的路径。 |
|
控制镜像构建的参数。 默认: |
|
要添加到镜像的 key=value 对的字典。仅适用于 OCI 镜像。对于 Docker 容器将被忽略。 |
|
构建镜像时是否使用缓存层 选择
|
|
用于构建镜像的 Containerfile 的内容。与 |
|
如果执行,则传递给构建的额外参数。不会幂等地检查新的构建参数。 |
|
如果 Containerfile 不在构建上下文目录中,则为 Containerfile 的路径。与 |
|
即使构建不成功,也始终在构建后删除中间容器。 选择
|
|
构建镜像的格式。 选择
|
|
在成功构建后删除中间容器 选择
|
|
指定要构建的目标构建阶段。 |
|
指定多个卷/挂载选项以将一个或多个挂载点挂载到容器。 |
|
包含要使用的 TLS 证书和密钥的目录的路径。 |
|
如果 默认: |
|
是否强制推送或拉取镜像。 构建时,即使镜像已存在也强制构建。 选择
|
|
要拉取、推送或删除的镜像的名称。它可以使用 |
|
在对远程注册表进行身份验证时使用的密码。 |
|
构建上下文目录的路径。 |
|
是否拉取镜像。 选择
|
|
要传递给 pull 命令的额外参数。 |
|
是否推送镜像。 选择
|
|
控制推送镜像的参数。 默认: |
|
使用 ‘dir’ 传输推送到目录时,压缩 tarball 镜像层。 选择
|
|
镜像将被推送到的路径或 URL。 |
|
如果执行推送操作,则传递给推送的额外参数。不会以幂等方式检查新的推送参数。 |
|
当使用 '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
返回值
常见的返回值记录在此处,以下是此模块独有的字段
键 |
描述 |
---|---|
已拉取、推送或构建的镜像的镜像检查结果。 返回: 成功 示例: |