packer/Dockerfile
Karthik P 918ecd4af5
Some checks failed
build / get-go-version (push) Has been cancelled
build / set-product-version (push) Has been cancelled
Go Test / get-go-version (push) Has been cancelled
Go Validate / get-go-version (push) Has been cancelled
build / generate-metadata-file (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} freebsd 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} netbsd 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} openbsd 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} solaris 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} windows 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} freebsd amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} netbsd amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} openbsd amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} solaris amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} windows amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} freebsd arm build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} netbsd arm build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} openbsd arm build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} linux 386 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} linux amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} linux arm build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} linux arm64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} linux ppc64le build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} darwin amd64 build (push) Has been cancelled
build / Go ${{ needs.get-go-version.outputs.go-version }} darwin arm64 build (push) Has been cancelled
build / Docker light 386 build (push) Has been cancelled
build / Docker light amd64 build (push) Has been cancelled
build / Docker light arm build (push) Has been cancelled
build / Docker light arm64 build (push) Has been cancelled
build / Docker full 386 build (push) Has been cancelled
build / Docker full amd64 build (push) Has been cancelled
build / Docker full arm build (push) Has been cancelled
build / Docker full arm64 build (push) Has been cancelled
Go Test / Linux go tests (push) Has been cancelled
Go Test / Darwin go tests (push) Has been cancelled
Go Test / Windows go tests (push) Has been cancelled
Go Validate / Go Mod Tidy (push) Has been cancelled
Go Validate / Lint (push) Has been cancelled
Go Validate / Fmt check (push) Has been cancelled
Go Validate / Generate check (push) Has been cancelled
Merge pull request #13442 from hashicorp/anshul/docker_img_official_plugin
removing the vmware and vshpehere from packer's docker full image
2026-01-28 10:04:33 +05:30

77 lines
3.1 KiB
Docker

# Copyright IBM Corp. 2013, 2025
# SPDX-License-Identifier: BUSL-1.1
# ========================================================================
#
# This Dockerfile contains multiple targets.
# Use 'docker build --target=<name> .' to build one.
# e.g. `docker build --target=release-light .`
#
# All non-dev targets have a PRODUCT_VERSION argument that must be provided
# via --build-arg=PRODUCT_VERSION=<version> when building.
# e.g. --build-arg PRODUCT_VERSION=1.11.2
#
# For local dev and testing purposes, please build and use the `dev` docker image.
#
# ========================================================================
# Development docker image primarily used for development and debugging.
# This image builds from the locally generated binary in ./bin/.
# To generate the local binary, run `make dev`.
FROM docker.mirror.hashicorp.services/alpine:latest as dev
RUN apk add --no-cache git bash openssl ca-certificates
COPY bin/packer /bin/packer
ENTRYPOINT ["/bin/packer"]
# Light docker image which can be used to run the binary from a container.
# This image builds from the locally generated binary in ./bin/, and from CI-built binaries within CI.
# To generate the local binary, run `make dev`.
# This image is published to DockerHub under the `light`, `light-$VERSION`, and `latest` tags.
FROM docker.mirror.hashicorp.services/alpine:latest as release-light
ARG PRODUCT_VERSION
ARG BIN_NAME
# TARGETARCH and TARGETOS are set automatically when --platform is provided.
ARG TARGETOS TARGETARCH
LABEL name="Packer" \
maintainer="HashiCorp Packer Team <packer@hashicorp.com>" \
vendor="HashiCorp" \
version=$PRODUCT_VERSION \
release=$PRODUCT_VERSION \
summary="Packer is a tool for creating identical machine images for multiple platforms from a single source configuration." \
description="Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. Please submit issues to https://github.com/hashicorp/packer/issues" \
org.opencontainers.image.licenses="BUSL-1.1"
RUN apk add --no-cache git bash wget openssl gnupg xorriso
COPY dist/$TARGETOS/$TARGETARCH/$BIN_NAME /bin/
RUN mkdir -p /usr/share/doc/Packer
COPY LICENSE /usr/share/doc/Packer/LICENSE.txt
ENTRYPOINT ["/bin/packer"]
# Full docker image which can be used to run the binary from a container.
# This image is essentially the same as the `release-light` one, but embeds
# the official plugins in it.
FROM release-light as release-full
# Install the latest version of the official plugins
RUN /bin/packer plugins install "github.com/hashicorp/amazon" && \
/bin/packer plugins install "github.com/hashicorp/ansible" && \
/bin/packer plugins install "github.com/hashicorp/azure" && \
/bin/packer plugins install "github.com/hashicorp/docker" && \
/bin/packer plugins install "github.com/hashicorp/googlecompute" && \
/bin/packer plugins install "github.com/hashicorp/qemu" && \
/bin/packer plugins install "github.com/hashicorp/vagrant" && \
/bin/packer plugins install "github.com/hashicorp/virtualbox"
ENTRYPOINT ["/bin/packer"]
# Set default target to 'dev'.
FROM dev