tidb Docker & Self-Hosted Deployment

GitHub

TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search.

1. Pull Image (DOCKERHUB) docker pull pingcap/tidb:latest
2. Docker Run (1-Click Launch) docker run -d --name tidb -p 4000:4000 --restart always pingcap/tidb:latest
3. Podman Run podman run -d --name tidb -p 4000:4000 --restart always pingcap/tidb:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/pingcap/tidb:latest
5. ORAS Pull (OCI Artifact) oras pull pingcap/tidb:latest
Dockerfile
# Copyright 2022 PingCAP, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# The current dockerfile is only used for development purposes. If used in a 
# production environment, please refer to https://github.com/PingCAP-QE/artifacts/blob/main/dockerfiles/cd/builders/tidb/Dockerfile.

# Builder image
FROM golang:1.25.14@sha256:54b6b88db6fe375c6676625d87d668273f85c6d09153635d0cbba89cba7a207a as builder
WORKDIR /tidb

COPY . .

ARG GOPROXY
ENV GOPROXY ${GOPROXY}

RUN make server


FROM quay.io/rockylinux/rockylinux:9-minimal@sha256:c26c789bd9b2c9fd092109688dbac8bdab27e51651d8130d7e10220f8e07614a

COPY --from=builder /tidb/bin/tidb-server /tidb-server

WORKDIR /
EXPOSE 4000
ENTRYPOINT ["/tidb-server"]