Compartir comentarios
Las respuestas se generan en base a la documentación.

Configurar un marketplace privado para extensiones

Disponibilidad: Beta
Para: Administradores

Aprende cómo configurar y establecer un marketplace privado con una lista seleccionada de extensiones para tus usuarios de Docker Desktop.

El marketplace privado de Docker Extensions está diseñado específicamente para organizaciones que no otorgan acceso de root a los desarrolladores en sus máquinas. Utiliza la Gestión de configuración para que los administradores tengan control total sobre el marketplace privado.

Requisitos previos

  • Descargar e instalar Docker Desktop.
  • Debes ser administrador de tu organización.
  • Tienes la capacidad de distribuir la carpeta extension-marketplace y el archivo admin-settings.json en las ubicaciones especificadas a continuación a través de software de gestión de dispositivos como Jamf.

Paso uno: Inicializar el marketplace privado

  1. Crea una carpeta local para el contenido que se desplegará en las máquinas de tus desarrolladores:

    $ mkdir my-marketplace
    $ cd my-marketplace
    
  2. Inicializa los archivos de configuración para tu marketplace:

    $ /Applications/Docker.app/Contents/Resources/bin/extension-admin init
    
    # Para instalaciones para todos los usuarios
    $ C:\Program Files\Docker\Docker\resources\bin\extension-admin init
    
    # Para instalaciones por usuario
    $ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin init
    
    $ /opt/docker-desktop/extension-admin init
    

Esto crea 2 archivos:

  • admin-settings.json, que activa la función de marketplace privado una vez que se aplica a Docker Desktop en las máquinas de tus desarrolladores.
  • extensions.txt, que determina qué extensiones se mostrarán en tu marketplace privado.
Important

Si tu organización utiliza la Gestión de configuración a través de la Consola de administración, no necesitarás el archivo admin-settings.json. Elimina el archivo generado y conserva únicamente el archivo extensions.txt.

Paso dos: Establecer el comportamiento

El archivo admin-settings.json generado incluye varias configuraciones que puedes modificar.

Important

Si tu organización gestiona la configuración a través de la Consola de administración, definirás estas mismas configuraciones en la Consola de administración en lugar de en el archivo admin-settings.json.

Cada configuración tiene un campo value que puedes establecer, incluyendo un campo locked que te permite bloquear la configuración y hacer que los desarrolladores no puedan cambiarla.

  • extensionsEnabled activa las extensiones de Docker.

  • extensionsPrivateMarketplace activa el marketplace privado y garantiza que Docker Desktop se conecte al contenido definido y controlado por el administrador en lugar del marketplace público de Docker.

  • onlyMarketplaceExtensions permite o bloquea a los desarrolladores la instalación de otras extensiones mediante la línea de comandos. Los equipos que desarrollan nuevas extensiones deben tener esta configuración desbloqueada ("locked": false) para instalar y probar las extensiones en desarrollo.

  • extensionsPrivateMarketplaceAdminContactURL define un enlace de contacto para que los desarrolladores soliciten nuevas extensiones en el marketplace privado. Si el valor value está vacío, no se mostrará ningún enlace a tus desarrolladores en Docker Desktop; de lo contrario, puede ser un enlace HTTP o un enlace "mailto:". Por ejemplo,

    "extensionsPrivateMarketplaceAdminContactURL": {
      "locked": true,
      "value": "mailto:[email protected]"
    }

Para obtener más información sobre el archivo admin-settings.json, consulta Gestión de configuración.

Paso tres: Listar las extensiones permitidas

El archivo extensions.txt generado define la lista de extensiones disponibles en tu marketplace privado.

Cada línea del archivo es una extensión permitida y sigue el formato de org/repo:tag.

Por ejemplo, si deseas permitir la extensión Disk Usage, debes introducir lo siguiente en tu archivo extensions.txt:

docker/disk-usage-extension:0.2.8

Si no se proporciona ninguna etiqueta (tag), se utiliza la etiqueta latest disponible para la imagen. También puedes comentar líneas con # para que la extensión sea ignorada.

Esta lista puede incluir diferentes tipos de imágenes de extensiones:

  • Extensiones del marketplace público o cualquier imagen pública almacenada en Docker Hub.
  • Imágenes de extensiones almacenadas en Docker Hub como imágenes privadas. Los desarrolladores deben iniciar sesión y tener acceso de lectura (pull) a estas imágenes.
  • Imágenes de extensiones almacenadas en un registro privado. Los desarrolladores deben iniciar sesión y tener acceso de lectura (pull) a estas imágenes.
Important

Tus desarrolladores únicamente pueden instalar la versión de la extensión que hayas listado.

Paso cuatro: Generar el marketplace privado

Una vez que la lista en extensions.txt esté lista, puedes generar el marketplace:

$ /Applications/Docker.app/Contents/Resources/bin/extension-admin generate
# Para instalaciones para todos los usuarios
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin generate

# Para instalaciones por usuario
$ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin generate
$ /opt/docker-desktop/extension-admin generate

Esto crea un directorio extension-marketplace y descarga los metadatos del marketplace para todas las extensiones permitidas.

El contenido del marketplace se genera a partir de la información de las imágenes de las extensiones configurada como etiquetas de imagen (labels), que es el mismo formato utilizado por las extensiones públicas. Incluye el título de la extensión, descripción, capturas de pantalla, enlaces, etc.

Paso cinco: Probar la configuración del marketplace privado

Se recomienda probar el marketplace privado en tu propia instalación de Docker Desktop.

  1. Ejecuta el siguiente comando en tu terminal. Este comando copia automáticamente los archivos generados a la ubicación donde Docker Desktop lee los archivos de configuración. Dependiendo de tu sistema operativo, la ubicación es:

    • Mac: /Library/Application\ Support/com.docker.docker
    • Windows: C:\ProgramData\DockerDesktop
    • Linux: /usr/share/docker-desktop
    $ sudo /Applications/Docker.app/Contents/Resources/bin/extension-admin apply
    
    # Para instalaciones para todos los usuarios
    $ C:\Program Files\Docker\Docker\resources\bin\extension-admin apply
    
    # Para instalaciones por usuario
    $ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin apply
    
    $ sudo /opt/docker-desktop/extension-admin apply
    
  2. Cierra y vuelve a abrir Docker Desktop.

  3. Inicia sesión con una cuenta de Docker.

Important

Si tu organización gestiona la configuración a través de la Consola de administración, en Docker Desktop 4.59 y versiones anteriores, debes eliminar manualmente el archivo admin-settings.json creado en la carpeta de destino por el comando apply antes del paso 2. En Docker Desktop 4.60 y versiones posteriores, este paso ya no es necesario.

Al seleccionar la pestaña Extensions, deberías ver que el marketplace privado enumera únicamente las extensiones que has permitido en extensions.txt.

Extensions Private Marketplace

Paso seis: Distribuir el marketplace privado

Una vez que hayas confirmado que la configuración del marketplace privado funciona, el último paso consiste en distribuir los archivos a las máquinas de los desarrolladores con el software MDM que utilice tu organización. Por ejemplo, Jamf.

Los archivos a distribuir son:

  • admin-settings.json (excepto si tu organización gestiona la configuración a través de la Consola de administración)
  • la carpeta completa extension-marketplace y sus subcarpetas

Estos archivos se deben colocar en las máquinas de los desarrolladores. Según el sistema operativo, la ubicación de destino es (como se mencionó anteriormente):

  • Mac: /Library/Application\ Support/com.docker.docker
  • Windows: C:\ProgramData\DockerDesktop
  • Linux: /usr/share/docker-desktop

Asegúrate de que tus desarrolladores inicien sesión en Docker Desktop para que se aplique la configuración del marketplace privado. Como administrador, deberías obligar el inicio de sesión.

Comentarios

Envía tus comentarios o notifica cualquier error que encuentres escribiendo por correo electrónico a [email protected].