vLLM în Docker (imaginea vllm/vllm-openai) în vLLM & Infrastructură LLM

Server & Invocare CLI vLLM 0.32.0 (octombrie 2026)

Imaginea oficială vllm/vllm-openai rulează serverul compatibil OpenAI; argumentele de engine se pun după numele imaginii.

Sintaxă & invocare
docker run --runtime nvidia --gpus all -v ~/.cache/huggingface:/root/.cache/huggingface --env "HF_TOKEN=$HF_TOKEN" -p 8000:8000 --ipc=host vllm/vllm-openai:latest --model MODEL [ARGUMENTE]

Ce face vLLM în Docker (imaginea vllm/vllm-openai)

vLLM publică imaginea oficială vllm/vllm-openai pe Docker Hub, care rulează serverul compatibil OpenAI. Orice argument de engine se adaugă după tag-ul imaginii. Imaginea merge și cu Podman. Pentru AMD există vllm/vllm-openai-rocm (latest și nightly).

Containerul are nevoie de memoria partajată a gazdei: --ipc=host sau --shm-size. PyTorch folosește memorie partajată între procese, mai ales la tensor parallelism. Montarea ~/.cache/huggingface evită descărcarea modelului la fiecare pornire.

Dependențele opționale nu sunt incluse, din motive de licență; le adaugi într-un Dockerfile propriu peste imagine, cu aceeași versiune vLLM. Pe gazde cu drivere NVIDIA mai vechi, VLLM_ENABLE_CUDA_COMPATIBILITY=1 activează bibliotecile de compatibilitate CUDA din imagine (doar pentru anumite GPU-uri profesionale și de centru de date).

Sintaxă și opțiuni

Opțiune / Parametru Descriere
--runtime nvidia --gpus all Acces la GPU-urile NVIDIA.
-v ~/.cache/huggingface:/root/.cache/huggingface Cache-ul de modele al gazdei.
--env "HF_TOKEN=$HF_TOKEN" Tokenul Hugging Face pentru modele protejate.
-p 8000:8000 Portul serverului.
--ipc=host / --shm-size Memorie partajată pentru procesele PyTorch.
--model MODEL [ARGUMENTE] Argumentele de engine, după numele imaginii.

Exemple practice

Exemplul 1: Comanda oficială

docker run --runtime nvidia --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HF_TOKEN=$HF_TOKEN" \
    -p 8000:8000 \
    --ipc=host \
    vllm/vllm-openai:latest \
    --model Qwen/Qwen3-0.6B

Exemplul 2: Cu Podman

podman run --device nvidia.com/gpu=all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=$HF_TOKEN" \
-p 8000:8000 \
--ipc=host \
docker.io/vllm/vllm-openai:latest \
--model Qwen/Qwen3-0.6B

Exemplul 3: Dependențe opționale într-o imagine proprie

FROM vllm/vllm-openai:v0.11.0
# e.g. install the `audio` optional dependencies
# NOTE: Make sure the version of vLLM matches the base image!
RUN uv pip install --system vllm==0.11.0

Greșeli frecvente și bune practici

  • Pornești fără --ipc=host sau --shm-size; procesele PyTorch nu pot partaja memorie.
  • Instalezi în imagine o versiune vLLM diferită de cea a imaginii de bază.
  • În imaginile proprii uiți de vllm download-kernels; kernel-urile FlashInfer se descarcă și se compilează la fiecare pornire.

Comenzi înrudite