# syntax = docker/dockerfile:experimental # Interim container so we can copy pulumi binaries # Must be defined first ARG PULUMI_VERSION=latest ARG PULUMI_IMAGE=pulumi/pulumi-base ARG RUNTIME_VERSION=1.17.1 FROM ${PULUMI_IMAGE}:${PULUMI_VERSION}-alpine as pulumi # The runtime container FROM golang:${RUNTIME_VERSION}-alpine3.12 WORKDIR /pulumi/projects # Install needed tools, like git RUN apk update && \ apk upgrade && \ apk add \ git \ libc6-compat \ ca-certificates; \ mkdir -p /go # Uses the workdir, copies from pulumi interim container COPY --from=pulumi /pulumi/bin/pulumi /pulumi/bin/pulumi COPY --from=pulumi /pulumi/bin/pulumi-language-go /pulumi/bin/pulumi-language-go COPY --from=pulumi /pulumi/bin/pulumi-analyzer-policy /pulumi/bin/pulumi-analyzer-policy ENV GOPATH=/go ENV PATH "/pulumi/bin:${PATH}" CMD ["pulumi"]