{"library":"pulumi-docker-build","title":"Pulumi Docker Build","description":"Pulumi Docker Build is a Pulumi provider for building modern Docker images. It leverages Docker Buildx and BuildKit to provide advanced image building capabilities, including multi-platform builds and caching. The current version is 0.0.15, and it typically sees minor updates every few weeks to months, often reflecting updates to underlying Docker components or bug fixes.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pulumi-docker-build pulumi"],"cli":{"name":"pulumi","version":"sh: 1: pulumi: not found"}},"imports":["from pulumi_dockerbuild import Image","from pulumi_dockerbuild import Index","from pulumi_dockerbuild import ImageRegistryArgs"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pulumi\nimport pulumi_dockerbuild as dockerbuild\nimport os\n\n# For this quickstart, we'll create a simple Dockerfile temporarily.\n# In a real project, this Dockerfile would be part of your source code.\nwith open(\"Dockerfile\", \"w\") as f:\n    f.write(\"\"\"\nFROM alpine:latest\nRUN echo \"Building with Pulumi Docker Build!\" > /tmp/build-status.txt\nCMD [\"cat\", \"/tmp/build-status.txt\"]\n\"\"\")\n\n# Define a Docker image resource. This will build the image.\n# To push to Docker Hub, replace 'yourusername' with your Docker Hub username\n# and ensure DOCKER_USERNAME and DOCKER_PASSWORD environment variables are set.\n# For local builds only, you can omit the 'registry' argument.\nimage = dockerbuild.Image(\"my-first-image\",\n    context=\".\",\n    dockerfile=\"Dockerfile\",\n    image_name=f\"yourusername/my-first-image:v1.0.0\", # IMPORTANT: Replace 'yourusername'\n    registry=dockerbuild.ImageRegistryArgs(\n        server=\"docker.io\", # Default for Docker Hub\n        username=os.environ.get(\"DOCKER_USERNAME\", \"\"),\n        password=os.environ.get(\"DOCKER_PASSWORD\", \"\"),\n    ),\n    # If you want to export the image to a local tarball instead of pushing:\n    # exports=[dockerbuild.ImageExportArgs(\n    #     local=dockerbuild.ImageExportLocalArgs(\n    #         dest=\"./my-first-image.tar\"\n    #     )\n    # )]\n)\n\n# Export the resulting image name\npulumi.export(\"image_name\", image.image_name)\n\n# Note: Remember to delete the 'Dockerfile' created by this quickstart\n# after you are done, as it's a temporary artifact for demonstration.","lang":"python","description":"This quickstart demonstrates how to build a Docker image using `pulumi-docker-build`. It creates a simple `Dockerfile` in the current directory, then defines an `Image` resource to build and optionally push the image to Docker Hub. Remember to replace 'yourusername' with your actual Docker Hub username and set `DOCKER_USERNAME` and `DOCKER_PASSWORD` environment variables for pushing.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.0.15","pypi_latest":"0.0.17","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":6.7,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"88.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":7.6,"import_time_s":null,"mem_mb":null,"disk_size":"74M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"94.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":6.6,"import_time_s":null,"mem_mb":null,"disk_size":"80M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"85.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.7,"import_time_s":null,"mem_mb":null,"disk_size":"74M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"85.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.6,"import_time_s":null,"mem_mb":null,"disk_size":"74M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"77.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pulumi-docker-build","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":8.1,"import_time_s":null,"mem_mb":null,"disk_size":"63M"}]}}