29 lines
859 B
Docker
29 lines
859 B
Docker
# 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.16.2
|
|
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"]
|