Información general
Al crear un codespace, se crea automáticamente un contenedor Docker en una máquina virtual remota. El contenedor Docker se crea a partir de una imagen de Docker. La imagen es básicamente una plantilla para los contenedores Docker y determina muchos aspectos del entorno resultante proporcionado por el codespace.
Puedes elegir qué imagen quieres usar para tus codespaces especificándola en la configuración del contenedor de desarrollo de un repositorio. Puedes hacerlo, por ejemplo, mediante la propiedad image
del archivo devcontainer.json
.
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
Para obtener más información, consulta la especificación de contenedores de desarrollo en el sitio web de contenedores de desarrollo.
Si no especificas una imagen en la configuración del contenedor de desarrollo de un repositorio, se usa la imagen predeterminada. La imagen predeterminada contiene una serie de versiones en tiempo de ejecución de lenguajes populares y herramientas de uso frecuente. Para obtener más información, vea «Introducción a los contenedores dev».
Como propietario de la organización, puedes agregar una directiva para restringir qué imágenes se pueden usar para los codespaces creados en tu organización.
Si la imagen especificada en la configuración del contenedor de desarrollo no coincide con una de las imágenes permitidas, se muestra el siguiente mensaje cuando alguien intenta crear un codespace para el repositorio:
No se puede crear el codespace: la imagen base "DETALLES DE LA CONFIGURACIÓN DEL CONTENEDOR DE DESARROLLO" no está permitida de acuerdo con una directiva de la organización establecida por el administrador de tu organización.
Notas:
- La directiva de imagen base solo se aplica cuando se crea un codespace. Actualmente no se aplica cuando se recompila un contenedor. Esto se modificará en una versión futura. Para obtener más información, vea «Ciclo de vida de un codespace».
- La directiva de imagen base no se aplica a la imagen predeterminada ni a la imagen que se usa para recuperar un codespace si se introduce un error en la configuración de un contenedor de desarrollo que impide que se recompile el contenedor.
Configurar políticas específicas para los repositorios y a lo largo de la organización
Cuando creas una política, eliges si esta aplica a todos los repositorios de tu organización o solo a algunos específicos. Si configuras una política a lo largo de la organización, entonces cualquier política que configures para los repositorios individuales debe de caer dentro de las restricciones que se configuraron a nivel organizacional. La adición de directivas hace que la elección de imágenes sea más restrictiva, no menos.
Por ejemplo, podrías crear una directiva para toda la organización que restrinja la imagen base a una de las 10 imágenes especificadas. Después, puedes establecer una directiva para el repositorio A que restrinja la imagen a un subconjunto compuesto por tan solo dos de las imágenes especificadas a nivel de la organización. Especificar imágenes adicionales para el repositorio A no tendrá ningún efecto, porque estas imágenes no están especificadas en la directiva para toda la organización. Si agregas una directiva a nivel organizacional, deberás establecerla en la mayor selección de imágenes que estará disponible para cualquier repositorio de tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección.
Nota: Las directivas de codespace solo se aplican a los codespaces que paga tu organización. Si alguien crea un codespace para un repositorio de tu organización por su cuenta, dicho codespace no estará sujeto a estas políticas. Para obtener más información, vea «Selección de quién posee y paga los codespaces de una organización».
Adición de una directiva para definir las imágenes permitidas
-
En la esquina superior derecha de GitHub.com, haga clic en la foto de perfil y luego en Your organizations.
-
Junto a la organización, haga clic en Settings.
-
En la sección "Código, planificación y automatización" de la barra lateral, selecciona Codespaces y, después, haz clic en Directivas.
-
En la página "Directivas de codespace", haga clic en Crear directiva.
-
Ingresa un nombre para tu política nueva.
-
Haz clic en Agregar restricción y elige Imágenes base.
-
Haz clic en para editar la restricción.
-
En el campo "Valores permitidos", escribe la dirección URL completa de una imagen que quieras permitir.
Nota: Debes especificar una URL de imagen que coincida exactamente con el valor especificado en una configuración de contenedor de desarrollo.
-
Haz clic en para agregar el valor.
-
Si es necesario, repite los dos pasos anteriores para agregar más direcciones URL de imágenes.
-
Haz clic fuera del cuadro de diálogo para cerrarlo.
-
De forma predeterminada, la directiva se establece para aplicarse a todos los repositorios; si deseas que se aplique solo a algunos de los repositorios de la organización, haz clic en Todos los repositorios y, a continuación, haz clic en Repositorios seleccionados en el menú desplegable.
Nota: Si vas a agregar una restricción a una directiva que ya contiene la restricción "Máximo de codespaces por usuario", no podrás aplicar la directiva a los repositorios seleccionados. Esto se debe a que la restricción "Máximo de codespaces por usuario" siempre se aplica a todos los repositorios de la organización.
Con la opción Repositorios seleccionados seleccionada:
-
Haga clic en .
-
Selecciona los repositorios a los cuales quieres que aplique esta política.
-
En la parte inferior de la lista de repositorios, haga clic en Select repositories.
-
-
Si quieres agregar otra restricción a la directiva, haz clic en Agregar restricción y elige otra restricción. Para obtener información sobre otras restricciones, consulta:
- "Restringir el acceso a los tipos de máquina"
- "Restricción del número de codespaces facturados a la organización que puede crear un usuario"
- "Restricción de la visibilidad de los puertos reenviados"
- "Restricción del período de tiempo de espera de inactividad"
- "Restricción del período de retención para codespaces"
-
Cuando hayas terminado de agregar restricciones a la directiva, haz clic en Guardar.
La directiva se aplica cuando alguien intenta crear un nuevo codespace que se puede facturar a tu organización. La restricción de la imagen base no afecta a los codespaces existentes, ya estén activos o detenidos.
Editar una política
Puedes editar una directiva existente. Por ejemplo, puede que te interese agregar restricciones a una directiva o quitarlas.
- Muestra la página de "Políticas del Codespace". Para obtener más información, consulta "Adición de una directiva para definir las imágenes permitidas".
- Haz clic en el nombre de la política que quieres editar.
- Junto a la restricción "Imágenes base", haz clic en .
- Agrega o quita direcciones URL de imágenes.
- Haga clic en Save(Guardar).
Borrar una política
-
Muestra la página de "Políticas del Codespace". Para obtener más información, consulta "Adición de una directiva para definir las imágenes permitidas".
-
Haz clic en a la derecha de la directiva que quieres eliminar.