Archivo del blog

Mostrando entradas con la etiqueta CUPS. Mostrar todas las entradas
Mostrando entradas con la etiqueta CUPS. Mostrar todas las entradas

23 mayo 2024

Cómo Instalar un Servidor de Impresión en un Contenedor Docker en Windows

Cómo Instalar un Servidor de Impresión en un Contenedor Docker en Windows

Usar un servidor de impresión en un contenedor Docker en Windows ofrece varias ventajas en un entorno de oficina.

Primero, proporciona aislamiento y seguridad, manteniendo el servidor de impresión separado del sistema operativo y reduciendo riesgos. Además, es altamente portátil, asegurando consistencia en diferentes entornos y facilitando la migración y el despliegue es rápido y la gestión se simplifica con comandos estándar de Docker. 

Los contenedores son más ligeros y eficientes que las máquinas virtuales, optimizando el uso de recursos. También facilita la recuperación y respaldo mediante snapshots y versiones. Para desarrollo y pruebas, permite entornos reproducibles y ágiles.


Finalmente, las actualizaciones y mantenimiento son más sencillos, permitiendo actualizaciones sin interrupciones y fácil rollback en caso de problemas. 

por eso, con estas ventajas hacen de Docker una opción eficiente y flexible para gestionar servidores de impresión en Windows.

Paso 1: Instalar Docker Desktop

Entra en la web oficina de Docker para descargar el fichero "Docker Desktop" para empezar con la instalación en Windows.

Instala Docker Desktop siguiendo las instrucciones del instalador. Asegúrate de habilitar la integración con WSL 2 (Windows Subsystem for Linux), ya que en nuestro caso no podríamos utilizar CUPS para la gestión de las impresoras.


Reinicia tu computadora para completar la instalación. 

Paso 2: Preparar el Dockerfile y el Script de Entrada

Necesitamos crear un directorio de trabajo, por lo que iremos a crear una carpeta en el disco:

mkdir C:\cups-server

cd C:\cups-server


Para crear el archivo Dockerfile, abrimos un bloc de notas y pegamos el siguiente código.

# Usar Ubuntu como base

FROM ubuntu:latest

# Establecer el mantenedor

LABEL maintainer="tuemail@example.com"

# Actualizar los paquetes e instalar las dependencias necesarias

RUN apt-get update && apt-get install -y \

    cups \

    cups-client \

    cups-filters \

    cups-pdf \

    ghostscript \

    dbus \

    avahi-daemon \

    avahi-utils \

    sudo \

    --no-install-recommends && \

    apt-get clean && \

    rm -rf /var/lib/apt/lists/*

# Crear el directorio para CUPS

RUN mkdir -p /etc/cups/ssl

# Copiar el archivo de configuración de CUPS

COPY cupsd.conf /etc/cups/cupsd.conf

# Copiar el script de entrada

COPY entrypoint.sh /entrypoint.sh

RUN chmod +x /entrypoint.sh

# Exponer el puerto de CUPS

EXPOSE 631

# Iniciar el contenedor con el script de entrada

CMD ["/entrypoint.sh"]

Recuerda que este fichero se guarda sin extensión.

Luego, creamos otro fichero con el bloc de notas llamado entrypoint.sh con el siguiente contenido:

#!/bin/bash

set -e

# Iniciar dbus

service dbus start

# Iniciar avahi-daemon manualmente si no está disponible como servicio

if command -v avahi-daemon >/dev/null 2>&1; then

    avahi-daemon -D

else

    echo "avahi-daemon no está instalado o no se puede ejecutar"

fi

# Iniciar CUPS

exec cupsd -f

Paso 3: Construir y Ejecutar el Contenedor

Construir la imagen de Docker:

En el cmd dentro de nuestro directorio de trabajo, creamos nuestra imagen para docker.

docker build -t cups-server .

Una vez, ya creado, vamos a ejecutar el contenedor, si nos pide cualquier elevación, la aceptaremos hasta que se complete la tarea.

docker run -d --name cups-server -p 631:631 --privileged cups-server

Paso 4: Configurar CUPS

Para acceder a la interfaz web de CUPS, tendremos que abrir nuestro navegador favorito y vamos a http://localhost:631 o a través de nuestra aplicación Docker Desktop.

Y una vez vemos que está en marcha, vamos a añadir las impresoras. Para para añadirlas y configurar tus impresoras, tenemos que seguir las instrucciones en la interfaz de CUPS, y aquí es donde buscaremos los drivers para las impresoras que vayamos añadiendo, y las configuraciones o restricciones.


Paso 5: Persistencia de Datos

Para que tus configuraciones persistan entre reinicios del contenedor, monta un volumen para las configuraciones de CUPS:

docker run -d --name cups-server -p 631:631 --privileged -v C:\path\to\cups\config:/etc/cups -v c:\path\to\cups\data:/var/spool/cups cups-server

Paso 6: Conectar Clientes al Servidor de Impresión

Añadimos la impresora por IP, vamos a impresoras y añadir por IP:




Y de esta forma podemos tener en un solo sitio las impresoras centralizadas y cuando quieras configurar un equipo, no te hace falta ir configurando una a una las impresoras en cada equipo que vayas montando, sino en ir añadiéndolas por IP y sin descargar drivers.


Espero que os sea de utilidad!!!!

Un abrazo.

Por un Brillante Comienzo: ¡Feliz Año Nuevo 2025

¡Feliz Año Nuevo 2025! Queremos comenzar este nuevo año agradeciéndote por formar parte de nuestra comunidad. El 2024 fue un año de retos, a...