Implementation:Tensorflow Serving Docker Build Serving Image
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Containerization, Deployment |
| Last Updated | 2026-02-13 17:00 GMT |
Overview
Concrete tool for building a Docker image with a baked-in model using docker run, docker cp, and docker commit commands.
Description
The TensorFlow Serving Kubernetes tutorial uses a three-step Docker build:
- docker run -d: Start a detached container from tensorflow/serving base image
- docker cp: Copy the SavedModel directory into the container at /models/{model_name}
- docker commit --change "ENV MODEL_NAME {name}": Commit as a new image
The base image entrypoint script runs: tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=${MODEL_NAME} --model_base_path=${MODEL_BASE_PATH}/${MODEL_NAME}
Usage
Run these Docker commands after preparing the SavedModel locally. The resulting image is ready for registry push and Kubernetes deployment.
Code Reference
Source Location
- Repository: tensorflow/serving
- File: tensorflow_serving/g3doc/serving_kubernetes.md (L52-84)
Signature
# Step 1: Start temporary container
docker run -d --name serving_base tensorflow/serving
# Step 2: Copy model into container
docker cp /tmp/resnet serving_base:/models/resnet
# Step 3: Commit as new image
docker commit --change "ENV MODEL_NAME resnet" serving_base $USER/resnet_serving
# Cleanup
docker kill serving_base && docker rm serving_base
Import
# Requires: docker CLI
# Base image: tensorflow/serving (from Docker Hub)
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Local SavedModel path | string | Yes | Path to the model directory (e.g., /tmp/resnet) |
| Model name | string | Yes | Name for the model (sets MODEL_NAME env var) |
| Base image | string | No | Default: tensorflow/serving |
Outputs
| Name | Type | Description |
|---|---|---|
| Docker image | image | $USER/resnet_serving with model baked in at /models/{name} |
Usage Examples
Build ResNet Serving Image
# Build image with ResNet model
docker run -d --name serving_base tensorflow/serving
docker cp /tmp/resnet serving_base:/models/resnet
docker commit --change "ENV MODEL_NAME resnet" serving_base $USER/resnet_serving
docker kill serving_base && docker rm serving_base
# Test locally
docker run -p 8500:8500 -p 8501:8501 $USER/resnet_serving
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment