Skip to content

Instalación decK, Docker y habilitación de Contenedores

Instalación de Docker CE

  1. Accede al servidor que contiene el entorno de laboratorio utilizando tu cliente SSH preferido.
  2. Agrega el repositorio oficial de Docker utilizando dnf:
    sudo dnf config-manager --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
  3. Instala los paquetes necesarios para Docker, incluyendo Docker Engine, containerd y Docker Compose:
    sudo dnf -y install docker-ce docker-ce-cli \
    containerd.io docker-compose-plugin
    
  4. Habilita e inicia el servicio dockerd utilizando systemctl:
    sudo systemctl --now enable docker
    
  5. Verifica que el servicio Docker esté activo:
    sudo systemctl status docker
    
  6. Permite que un usuario sin privilegios de root administre Docker agregándolo al grupo docker:
    sudo usermod -a -G docker $(whoami)
    
    Después de ejecutar este paso, cierra la sesión SSH y vuelve a conectarte para que los cambios surtan efecto:
[student@student-0-aio ~]$ exit
logout
Connection to 35.227.133.255 closed.
% ssh -l student 35.227.133.255 -i student-0-private_key.pem

Crear una Red Personalizada en Docker

  1. Crea una nueva red llamada kong:
    docker network create kong
    

Despliegue del Modelo TinyLlama

  1. Crea un directorio de trabajo llamado ollama:
    mkdir ollama && cd ollama
    
  2. Dentro del directorio, crea un archivo Dockerfile con el siguiente contenido:
    FROM ollama/ollama:latest
    
    ENV OLLAMA_HOST=0.0.0.0:8080
    ENV OLLAMA_MODELS=/models
    ENV OLLAMA_DEBUG=false
    ENV OLLAMA_KEEP_ALIVE=-1
    ENV MODEL=tinyllama
    
    RUN ollama serve & sleep 5 && ollama pull $MODEL
    
    ENTRYPOINT ["ollama", "serve"]
    
  3. Construye la imagen de contenedor:
    docker build -t ollama-itm:v1 .
    
  4. Ejecuta el contenedor con el modelo:
    docker run --name ollama -d --network kong \
    -e OLLAMA_NUM_PARALLEL=4 -p 8080:8080 ollama-itm:v1
    
  5. Verifica el funcionamiento del modelo desplegado (puede tardar algunos segundos), ejecutar el siguiente comando en el servidor Docker:
    curl -s -X POST http://localhost:8080/api/chat \
      -H "Content-Type: application/json" \
      -d '{
        "model": "tinyllama",
        "stream": false,
        "messages": [
          {
            "role": "user",
            "content": "¿Cuál es la capital de Francia?"
          }
        ]
      }' | jq -r '.message.content' | tr -d '\n'; echo
    

Instalación de un Contenedor Redis

  1. Despliega Redis Server dentro de la red kong, ejecutar el siguiente comando en el servidor Docker:
    docker run -d --name redis --network kong -p 6379:6379 redis:8.0
    

Verificación de Contenedores en Ejecución

  1. Asegúrate de que todos los contenedores estén activos y funcionando correctamente:
    docker ps -a
    

Instalación decK

decK: Kong's command line tool for API Lifecycle Automation

  1. Instalar el siguiente paquete RPM en el servidor Docker:
    sudo rpm -ivh https://github.com/Kong/deck/releases/download/v1.49.1/deck_v1.49.1_amd64.rpm