name: provider-docker-build runtime: yaml plugins: providers: - name: docker-build path: ../../bin resources: # docker buildx build -f app/Dockerfile.multiPlatform --platform plan9/amd64,plan9/386 app multiPlatform: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.multiPlatform" context: location: "./app" platforms: - plan9/amd64 - plan9/386 # docker buildx build --output=type=registry app registryPush: type: docker-build:Image properties: push: false context: location: "./app" tags: ["docker.io/pulumibot/buildkit-e2e:example"] exports: - registry: ociMediaTypes: true push: false # Omit this to actually push images. registries: - address: docker.io username: pulumibot password: ${dockerHubPassword} # docker buildx build --cache-to=type=local,dest=tmp/cache,mode=max --cache-from=type=local,src=tmp/cache app cached: type: docker-build:Image properties: push: false context: location: "./app" cacheTo: - local: dest: tmp/cache mode: max cacheFrom: - local: src: tmp/cache # docker buildx build -f app/Dockerfile.buildArgs --build-arg SET_ME_TO_TRUE=true app buildArgs: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.buildArgs" context: location: "./app" buildArgs: SET_ME_TO_TRUE: "true" # docker buildx build -f app/Dockerfile.extraHosts --add-host metadata.google.internal:169.254.169.254 app extraHosts: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.extraHosts" context: location: "./app" addHosts: - "metadata.google.internal:169.254.169.254" # docker buildx build -f app/Dockerfile.sshMount --ssh default app sshMount: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.sshMount" context: location: "./app" ssh: - id: default # PASSWORD=hunter2 docker buildx build -f app/Dockerfile.secrets --secret id=password,env=PASSWORD app secrets: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.secrets" context: location: "./app" secrets: password: hunter2 # docker buildx build --label "description=This image will get a descriptive label 👍" app labels: type: docker-build:Image properties: push: false context: location: "./app" labels: description: "This image will get a descriptive label 👍" # docker buildx build -f app/Dockerfile.target --target build-me app target: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.target" context: location: "./app" target: "build-me" # docker buildx build -f app/Dockerfile.namedContexts \ # --build-context golang:latest=docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984 app namedContexts: type: docker-build:Image properties: push: false dockerfile: location: "./app/Dockerfile.namedContexts" context: location: "./app" named: "golang:latest": location: "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984" # docker buildx build https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile remoteContext: type: docker-build:Image properties: push: false context: location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile" # docker buildx build -f - https://github.com/docker-library/hello-world.git <