Ollama su docker

1. Prerequisiti

Verifica che i driver NVIDIA siano installati:

nvidia-smi

Dovresti vedere la tua GPU e la versione del driver.


2. Installa Docker

sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker

Aggiungi il tuo utente al gruppo docker:

sudo usermod -aG docker $USER

Poi esegui logout/login.


3. Installa NVIDIA Container Toolkit

Aggiungi il repository:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Installa:

sudo apt update
sudo apt install -y nvidia-container-toolkit

Configura Docker:

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Test:

docker run --rm --gpus all ubuntu nvidia-smi

Se visualizzi la GPU, sei pronto.


4. Crea la cartella di Ollama

mkdir -p ~/ollama
cd ~/ollama

5. Crea il file docker-compose.yml

services:
ollama:
image: ollama/ollama:latest
container_name: ollama

ports:
- "11434:11434"

volumes:
- ollama_data:/root/.ollama

restart: unless-stopped

deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]

volumes:
ollama_data:

6. Avvia Ollama

docker compose up -d

Verifica:

docker ps

7. Scarica un modello

Ad esempio Qwen 2.5 7B:

docker exec -it ollama ollama pull qwen2.5:7b

Oppure:

docker exec -it ollama ollama pull qwen3:8b

8. Verifica che usi la GPU

Lancia:

docker exec -it ollama ollama run qwen2.5:7b

In un altro terminale:

watch -n 1 nvidia-smi

Dovresti vedere memoria GPU occupata e utilizzo della GPU


comandi Ollama sotto docker

Se Ollama è in esecuzione dentro un container Docker chiamato ollama, puoi vedere tutti i modelli installati con:

docker exec -it ollama ollama list

Rimuovere un modello

docker exec -it ollama ollama rm qwen2.5:7b
Entrare nella shell del container
docker exec -it ollama bash
e poi eseguire direttamente:
ollama list
Se vuoi verificare anche quanto spazio occupano i modelli nel volume Docker:
docker system df -v
oppure:
docker exec -it ollama du -sh /root/.ollama/models

Tags:

Comments

Lascia un commento