plugins/render/skills/render-docker/SKILL.md
Builds and deploys Docker containers on Render—Dockerfiles, multi-stage builds, Blueprint Docker fields, private registries, layer caching, and platform constraints. Use when the user mentions Docker, Dockerfile, container images, multi-stage builds, container registry, GHCR, ECR, BuildKit, dockerContext, runtime docker or image, or optimizing Docker builds on Render.
npx skillsauth add openai/plugins render-dockerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Render uses BuildKit for Docker builds. All compute service types that support custom runtimes can use runtime: docker (build from a Dockerfile in the repo) or runtime: image (pull a prebuilt image; no Dockerfile build on Render). Deeper patterns and copy-paste templates live under references/.
runtime: docker vs runtime: image in a BlueprintFor full Blueprint authoring, see render-blueprints. For end-to-end deploy flows, see render-deploy.
runtime: docker: Render builds an image from your repo using dockerfilePath, dockerContext, and optional dockerCommand (overrides image CMD).runtime: image: Render pulls image.url; no repo-based image build. Pair with registryCredential when the registry is private.| Field | Role |
|-------|------|
| dockerfilePath | Path to the Dockerfile (default ./Dockerfile) |
| dockerContext | Build context directory (what is sent to the daemon) |
| dockerCommand | Overrides the container CMD after the image is built |
| image.url | Image reference for runtime: image (registry/repo:tag or digest) |
| registryCredential | Auth for private pulls; often fromRegistryCreds → Dashboard-stored credential |
Example sketch (values illustrative):
services:
- type: web
name: api
runtime: docker
region: oregon
plan: starter
dockerfilePath: ./Dockerfile
dockerContext: .
dockerCommand: node server.js
envVars:
- key: PORT
value: 10000
For runtime: image, set image.url and, if needed, registryCredential per Registry Configuration below.
Recommended for production. Use a builder stage for compilation and dependency installation, and a minimal runner stage that only copies artifacts and runtime files. Benefits:
See references/dockerfile-patterns.md for language-specific templates.
Critical: Never pass secrets via ARG. Build arguments are stored in image layers and can be recovered from the image history or intermediate layers.
RUN --mount=type=secret,...) rather than ARG.Treat anything sensitive as runtime or BuildKit secret mount, not as a build arg.
Private base images (for runtime: docker) or prebuilt images (runtime: image) need authentication:
registryCredential.fromRegistryCreds.name (match the Dashboard name).Supports common registries (Docker Hub, GHCR, ECR, Google Artifact Registry, and others). Step-by-step per provider: references/registry-setup.md.
Prebuilt image services do not auto-deploy when the tag moves in the registry; trigger a manual redeploy or use a deploy hook when you publish a new image.
references/optimization-guide.md).latest can resolve to stale cached images. Prefer immutable references: digest (repo/image@sha256:...) or version pins (v1.2.3).0.0.0.0:$PORT (Render sets PORT).healthCheckPath, etc.)./etc/secrets/ — do not rely on repo-root secret paths inside the container unless you copy or mount them explicitly in the image..dockerignore and Start Commands.dockerignore that excludes node_modules, .git, .env, build artifacts, logs, and OS junk. This shrinks context upload time and avoids leaking local files into layers. Lists and rationale: references/optimization-guide.md./bin/sh -c 'set -e; ./migrate && exec node server.js' (prefer exec so your app receives signals for graceful shutdown).| Document | Contents |
|----------|----------|
| references/dockerfile-patterns.md | Multi-stage templates (Node, Python, Go, Ruby, Rust, static sites) |
| references/registry-setup.md | Docker Hub, GHCR, ECR, Artifact Registry + Blueprint wiring |
| references/optimization-guide.md | Layer order, .dockerignore, BuildKit cache mounts, debugging |
render.yaml schema, wiring, and validationdevelopment
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.