copilot-instructions docker.instructions.md

A set of Docker instructions for building .NET applications in separate stages and running them with security-focused defaults. Docker packages an application and its dependencies into a repeatable container.

In plain words
What is it for?
Use it when creating or reviewing Dockerfiles for .NET applications, especially projects that need multi-stage builds and safer production containers.
Why use it?
It gives projects a consistent structure for restoring, building, publishing, and running .NET code. It also addresses smaller runtime images, non-root users, secrets, and vulnerability checks.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/thiagoguislotti/copilot-instructions/docker
Clone the repo
git clone --depth 1 https://github.com/ThiagoGuislotti/copilot-instructions

Made for: GitHub Copilot.

Per session 1,243 This file is loaded in full into every session.
When invoked 1,243 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01243 $0.01243
Opus 5 $0.00622 $0.00622
Sonnet 5 $0.00249 $0.00249
Haiku 4.5 $0.00124 $0.00124

Measured 2d ago against content hash ae16c0d7fc46, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

copilot-instructions docker.instructions.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health/live"]
.github/instructions/docker.instructions.md · 172 lines

How it starts

The opening of the file, as written. The whole thing — 172 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Multi-stage Builds

  • ALWAYS use template .github/templates/dotnet-dockerfile-template as base for .NET projects
  • Do not assemble a full Dockerfile directly from the snippets in this instruction when the template applies; use the template as the concrete starting point and treat snippets here as partial patterns.
  • stages build/publish/base/final
  • copy only required artifacts
  • fixed NetToolsKit layout (src/, samples/, eng/, .build/)
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["src/MyApp/MyApp.csproj", "src/MyApp/"]
RUN dotnet restore "src/MyApp/MyApp.csproj"
COPY . .
WORKDIR "/src/src/MyApp"
RUN dotnet build "MyApp.csproj" -c Release -o /app/build

# Publish stage
FROM build AS publish
RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish

# Final stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Security

  • Mandatory non-root user (pattern unet:gnet)
  • distroless images when possible
  • vulnerability scanning
  • secrets via environment variables only
FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base
RUN adduser -D -u 1001 unet && addgroup -S gnet && adduser unet gnet
USER unet:gnet
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Performance

  • Layer caching optimization
  • COPY order (dependencies first)
  • .dockerignore for exclusions
  • minimize base image size
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["src/MyApp/MyApp.csproj", "."]
RUN dotnet restore
COPY . .
RUN dotnet build -c Release -o /app/build

Resource Limits

  • Memory/CPU constraints
  • health checks configured
  • appropriate restart policies
  • network security groups
version: '3.8'
services:
  myapp:
    image: myapp:latest
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 512M
        reservations:
          cpus: '0.5'
          memory: 256M
    healthcheck:
      test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health/live"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    restart: unless-stopped

Read the full file on GitHub · 172 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 172 lines · 1,243 tokens per session scan A ae16c0d7fc46

Subscribe to this mod's changes

copilot-instructions docker.instructions.md is an instructions file published in the GitHub repository ThiagoGuislotti/copilot-instructions (2 stars, last pushed 2mo ago), licensed MIT. It adds 1,243 tokens to every session, about $0.0062 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,345 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

next.js AGENTS.md

Instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens