3. Primeros contenedores
Orientarse en la CLI
Sección titulada «Orientarse en la CLI»wslc --help # todos los comandoswslc <COMMAND> --help # ayuda de un comandowslc image list # imágenes disponibles localmentewslc container list # contenedores en ejecuciónwslc container list --all # incluidos los contenedores detenidoswslc stats # uso de CPU / memoria de los contenedoresUn contenedor desechable
Sección titulada «Un contenedor desechable»wslc run --rm -it ubuntu:latest bash -c "echo Hello world from WSL container!"| Opción | Efecto |
|---|---|
--rm |
elimina el contenedor en cuanto se detiene |
-it |
modo interactivo con una terminal |
ubuntu:latest |
la imagen (se descarga automáticamente si falta) |
bash -c "…" |
el comando que se ejecuta en el contenedor |
Un servidor web en segundo plano
Sección titulada «Un servidor web en segundo plano»# Ejecutar nginx en segundo plano, puerto 8080 de Windows → puerto 80 del contenedorwslc run -d --rm -p 8080:80 --name web nginx
# Consultar el servidor desde Windowscurl localhost:8080
# Ver el contenedorwslc container list
# Ejecutar un comando en el contenedor en ejecuciónwslc exec web cat /etc/os-release
# Detenerlo (y, gracias a --rm, eliminarlo)wslc container stop web| Opción | Efecto |
|---|---|
-d |
separado (detached): el contenedor se ejecuta en segundo plano |
-p 8080:80 |
publica el puerto: host:container |
--name web |
nombre legible, utilizable en lugar del ID |
Puntos clave
Sección titulada «Puntos clave»runcrea e inicia un contenedor;--rmevita acumular contenedores detenidos.-p host:containerhace que un servicio sea accesible desde Windows.execejecuta un comando en un contenedor ya en ejecución.
Ejercicios
Sección titulada «Ejercicios»- Ejecuta un contenedor
nginxaccesible en el puerto 9090 de Windows, llamadosite, y comprueba que responde.
Solución
wslc run -d --rm -p 9090:80 --name site nginxcurl localhost:9090wslc container stop site- ¿Cómo saber qué distribución Linux usa la imagen
nginxsin abrir un shell interactivo?
Solución
wslc run -d --rm --name site nginxwslc exec site cat /etc/os-releasewslc container stop site- ¿Cuál es la diferencia entre
wslc container listywslc container list --all?
Solución
Sin --all, solo se listan los contenedores en ejecución. Con --all, también aparecen los contenedores detenidos (pero no eliminados).