Introducción: ejecución del primer contenedor de Windows
Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016
En este tema se describe cómo ejecutar el primer contenedor de Windows, después de configurar el entorno, tal como se describe en Introducción: preparar Windows para contenedores. Para ejecutar un contenedor, primero se descarga una imagen base (en los contenedores, esto también se conoce como operación de incorporación), que proporciona la capa esencial de servicios del sistema operativo para el contenedor. A continuación, se crea y ejecuta una imagen de contenedor, que se basa en la imagen base. Para obtener los detalles, sigue leyendo.
Incorporación de una imagen base de contenedor
Todos los contenedores se crean a partir de imágenes de contenedor. Microsoft ofrece varias imágenes iniciales, denominadas imágenes base, entre las que puedes elegir (para más información, consulta Imágenes base de contenedor). Este procedimiento extrae (descarga e instala) la imagen base de Nano Server ligera.
Abre una ventana de símbolo del sistema (como el símbolo del sistema integrado, PowerShell, o Windows terminal) y, a continuación, ejecuta el siguiente comando para descargar e instalar la imagen base:
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
Si Docker no se inicia al intentar extraer la imagen, es posible que no se pueda acceder al demonio de Docker. Para resolver este problema, pruebe a reiniciar el servicio de Docker.
Sugerencia
Si ves un mensaje de error que indica
no matching manifest for linux/amd64 in the manifest list entries
, asegúrate de que Docker no está configurado para ejecutar contenedores de Linux. Para cambiar a contenedores de Windows en Docker, haga clic con el botón derecho en el icono de Docker y seleccione Cambiar a contenedores Windows. Para usar la línea de comandos para cambiar de contenedor, ejecute& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon
.Una vez finalizada la descarga de la imagen, lee el CLUF mientras esperas. Comprueba tu existencia en el sistema consultando el repositorio local de imágenes de Docker. Al ejecutar el comando
docker images
se devuelve una lista de imágenes instaladas.Este es un ejemplo de la salida que muestra la imagen de Nano Server.
REPOSITORY TAG IMAGE ID CREATED SIZE microsoft/nanoserver latest 105d76d0f40e 4 days ago 652 MB
Ejecución de un contenedor de Windows
En este ejemplo simple, se creará e implementará una imagen de contenedor "Hola mundo". Para obtener la mejor experiencia, ejecuta estos comandos en una ventana de símbolo del sistema con privilegios elevados (pero no uses Windows PowerShell ISE; no funciona para las sesiones interactivas con contenedores, ya que los contenedores parecen bloqueados).
Inicia un contenedor con una sesión interactiva desde la imagen de
nanoserver
escribiendo el siguiente comando en la ventana del símbolo del sistema:docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd.exe
Una vez iniciado el contenedor, la ventana del símbolo del sistema cambia el contexto al contenedor. Dentro del contenedor, crearemos un archivo de texto "Hola mundo" simple y, a continuación, saldremos del contenedor escribiendo los siguientes comandos:
echo "Hello World!" > Hello.txt exit
Obtén el id. de contenedor para el contenedor del que acabas de salir mediante la ejecución del comando docker ps:
docker ps -a
Crea una nueva imagen "HelloWorld" que incluya los cambios en el primer contenedor que ejecutaste. Para ello, ejecuta el comando docker commit, reemplazando
<containerid>
por el id. de contenedor:docker commit <containerid> helloworld
Una vez finalizado, tendrá una imagen personalizada que contiene el script de hola a todos. Esto puede verse con el comando docker images.
docker images
A continuación, presentamos un ejemplo de la salida:
REPOSITORY TAG IMAGE ID CREATED SIZE helloworld latest a1064f2ec798 10 seconds ago 258MB mcr.microsoft.com/windows/nanoserver 2022 2b9c381d0911 3 weeks ago 256MB
Por último, ejecuta el nuevo contenedor con el comando docker run con el parámetro
--rm
que quita automáticamente el contenedor una vez que se detiene la línea de comandos (cmd.exe).docker run --rm helloworld cmd.exe /s /c type Hello.txt
El resultado es que Docker creó un contenedor a partir de la imagen "HelloWorld" e inició una instancia de cmd.exe en el contenedor, y que el archivo cmd.exe leyó nuestro archivo y generó el contenido en el shell. Como último paso, Docker se detuvo y quitó el contenedor.
Ejecución de un contenedor de Windows mediante Windows Admin Center
Puede usar Windows Admin Center para ejecutar los contenedores localmente. En concreto, se usa la extensión de contenedores de la instancia de Windows Admin Center para ejecutar los contenedores. En primer lugar, abra el host de contenedor que quiera administrar y, en el panel Herramientas, seleccione la extensión Contenedores. A continuación, seleccione la pestaña Imágenes dentro de la extensión Contenedor del Host de Contenedor.
Si el host no tiene ninguna imagen base del contenedor, seleccione la opción Extraer para abrir la configuración de la imagen del contenedor de extracción:
En la configuración de la imagen del contenedor de extracción, proporcione la dirección URL de la imagen y la etiqueta. Si no está seguro de la imagen que se va a extraer, Windows Admin Center proporciona una lista de imágenes comunes de Microsoft. También puede proporcionar las credenciales para extraer una imagen de un repositorio privado. Después de completar la información necesaria, haga clic en Extraer. Windows Admin Center iniciará el proceso de extracción en el host de contenedor. Una vez completada la descarga, debería ver la nueva imagen en la pestaña Imágenes.
Seleccione la imagen que quiera ejecutar y haga clic en Ejecutar.
En el menú Ejecutar, configure los parámetros del contenedor; p. ej., el nombre del contenedor, el tipo de aislamiento, los puertos que se van a publicar y la asignación de memoria y CPU. Además, puede anexar comandos de ejecución de Docker que no estén en la interfaz de usuario, como -v para el volumen persistente. Para obtener más información sobre los parámetros de ejecución de Docker disponibles, revise la documentación.
Cuando finalice la configuración del contenedor, haga clic en Ejecutar. Puede ver el estado de los contenedores en ejecución en la pestaña Contenedores: