Push one or more existing Docker images to a remote container registry.

yaml
type: "io.kestra.plugin.docker.Push"

Push a previously built image to DockerHub

yaml
id: docker_push
namespace: company.team

tasks:
  - id: push
    type: io.kestra.plugin.docker.Push
    tags:
      - image/demo:latest
    credentials:
      registry: https://index.docker.io/v1/
      username: "{{ secret('DOCKERHUB_USERNAME') }}"
      password: "{{ secret('DOCKERHUB_PASSWORD') }}"

Push the image from a previous Build task

yaml
id: docker_push_with_tag
namespace: company.team

tasks:
  - id: build
    type: io.kestra.plugin.docker.Build
    dockerfile: |
      FROM alpine
      RUN echo "hello"
    tags:
      - my-registry.example.com/my-app:latest

  - id: push
    type: io.kestra.plugin.docker.Push
    tags:
      - my-registry.example.com/my-app:latest
    credentials:
      registry: my-registry.example.com
      username: "{{ secret('REGISTRY_USERNAME') }}"
      password: "{{ secret('REGISTRY_PASSWORD') }}"
Properties
SubType string

The list of tags to push.

Each tag should be a fully qualified image reference if pushing to a custom registry.

Docker configuration file.

Docker configuration file that can set access credentials to private container registries. Usually located in ~/.docker/config.json.

The URI of your Docker host e.g. localhost

The registry authentication.

The auth field is a base64-encoded authentication string of username: password or a token.

The identity token.

The registry password.

The registry URL.

If not defined, the registry will be extracted from the image name.

The registry token.

The registry username.