Configurar un marketplace privado para extensiones
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-marketplacey el archivoadmin-settings.jsonen las ubicaciones especificadas a continuación a través de software de gestión de dispositivos como Jamf.
Paso uno: Inicializar el marketplace privado
Crea una carpeta local para el contenido que se desplegará en las máquinas de tus desarrolladores:
$ mkdir my-marketplace $ cd my-marketplaceInicializa 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.
ImportantSi 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 archivoextensions.txt.
Paso dos: Establecer el comportamiento
El archivo admin-settings.json generado incluye varias configuraciones que puedes modificar.
ImportantSi 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.
extensionsEnabledactiva las extensiones de Docker.extensionsPrivateMarketplaceactiva 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.onlyMarketplaceExtensionspermite 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.extensionsPrivateMarketplaceAdminContactURLdefine un enlace de contacto para que los desarrolladores soliciten nuevas extensiones en el marketplace privado. Si el valorvalueestá 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.
ImportantTus 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.
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- Mac:
Cierra y vuelve a abrir Docker Desktop.
Inicia sesión con una cuenta de Docker.
ImportantSi 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.jsoncreado en la carpeta de destino por el comandoapplyantes 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.

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-marketplacey 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].