instruction: Create a Dockerfile for Python with production best practices
output: ```dockerfile
  from Docker Hub, which may take some time.Visit http://localhost:8080. Enter a correct or
  incorrect fact in the prompt and hit enter. An agent searches DuckDuckGo to
  verify it and another agent revises the output.Press ctrl-c in the terminal to stop the application when you're done.Step 4: Review the application environmentYou can find the compose.yaml file in the adk/ directory. Open it in a text
  editor to see how the services are defined.compose.yaml
  
  Show more
  services:
   adk:
   build:
   context: .
   ports:
   # expose port for web interface
   - "8080:8080"
   environment:
   # point adk at the MCP gateway
   - MCPGATEWAY_ENDPOINT=http://mcp-gateway:8811/sse
   depends_on:
   - mcp-gateway
   models:
   gemma3 :
   endpoint_var: MODEL_RUNNER_URL
   model_var: MODEL_RUNNER_MODEL
  
   mcp-gateway:
   # mcp-gateway secures your MCP servers
   image: docker/mcp-gateway:latest
   use_api_socket: true
   command:
   - --transport=sse
   # add any MCP servers you want to use
   - --servers=duckduckgo
  
  models:
   gemma3:
   # pre-pull the model when starting Docker Model Runner
   model: ai/gemma3:4B-Q4_0
   context_size: 10000 # 3.5 GB VRAM
   # increase context size to handle search results
   # context_size: 131000 # 7.6 GB VRAM
  Hide
  The app consists of three main components:The adk service, which is the web application that runs the agentic AI
  application. This service talks to the MCP gateway and model.The mcp-gateway service, which is the MCP gateway that connects the app
  to external tools and services.The models block, which defines the model to use with the application.When you examine the compose.yaml file, you'll notice two notable elements for the model:A serviceâlevel models block in the adk serviceA top-level models blockThese two blocks together let Docker Compose automatically start and connect
  your ADK web app to the specified LLM.
  TipLooking for more models to use? Check out the Docker AI Model
  Catalog.When examining the compose.yaml file, you'll notice the gateway service is a
  Docker-maintained image,
  docker/mcp-gateway:latest.
  This image is Docker's open source MCP
  Gateway that enables your application to
  connect to MCP servers, which expose tools that models can call. In this
  example, it uses the duckduckgo MCP
  server to perform web
  searches.
  TipLooking for more MCP servers to use? Check out the Docker MCP
  Catalog.With only a few lines of instructions in a Compose file, you're able to run and
  connect all the necessary services of an agentic AI application.In addition to the Compose file, the Dockerfile and the
  entrypoint.sh script it creates, play a role in wiring up the AI stack at build and
  runtime. You can find the Dockerfile in the adk/ directory. Open it in a
  text editor.Dockerfile
  
  Show more
  # Use Python 3.11 slim image as base
  ```