WLS (Windows Subsystem for Linux) en Windows Server 2019
Una de las mayores alegrías para un Linuxero es que Microsoft permita ejecutar en su sistema, de forma embebida Linux. Esto ya vino hace tiempo en Windows 10, y ahora en Windows Server 2019 se fortalece. WLS permite esto, y hoy os vamos a explicar como hacer la instalación de una distribución Linux de forma embebida en vuestro server.
Instalación WLS en Windows Server 2019:
1 |
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows -Subsystem-Linux |
Se reinicia el sistema. Si no lo hace automáticamente:
1 |
Restart-Computer |
Instalar Ubuntu
1 |
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604 |
Otras distribuciones:
- Ubuntu 1804: https://aka.ms/wsl-ubuntu-1804
- Ubuntu 1804 ARM: https://aka.ms/wsl-ubuntu-1804-arm
- Ubuntu 1604: https://aka.ms/wsl-ubuntu-1604
- Debian: https://aka.ms/wsl-debian-gnulinux
- Kali: https://aka.ms/wsl-kali-linux
- OpenSuse: https://aka.ms/wsl-opensuse-42
- SLES: https://aka.ms/wsl-sles-12
Ahora revisamos si existe el fichero ubuntu.appx. Lo renombramos y descomprimimos (se nos generará una carpeta con los ficheros de la máquina virtual):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
PS C:\Users\Administrator> ls Directory: C:\Users\Administrator Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 15/10/2018 0:51 .docker d-r--- 15/10/2018 7:52 3D Objects d-r--- 15/10/2018 7:52 Contacts d-r--- 15/10/2018 10:37 Desktop d-r--- 15/10/2018 7:52 Documents d-r--- 15/10/2018 9:10 Downloads d-r--- 15/10/2018 7:52 Favorites d-r--- 15/10/2018 7:52 Links d-r--- 15/10/2018 7:52 Music d-r--- 15/10/2018 7:52 Pictures d-r--- 15/10/2018 7:52 Saved Games d-r--- 15/10/2018 7:52 Searches d-r--- 15/10/2018 7:52 Videos -a---- 16/10/2018 9:17 201749452 ubuntu-1604.appx PS C:\Users\Administrator> Rename-Item ubuntu-1604.appx ubuntu.zip PS C:\Users\Administrator> Expand-Archive ubuntu.zip ubuntu |
Ahora podemos mirar que tenemos en la carpeta ubuntu que acabamos de generar:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
PS C:\Users\Administrator> cd ubuntu PS C:\Users\Administrator\ubuntu> ls Directory: C:\Users\Administrator\ubuntu Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 16/10/2018 9:21 AppxMetadata d----- 16/10/2018 9:21 Assets d----- 16/10/2018 9:21 images -a---- 11/07/2017 18:10 190434 AppxBlockMap.xml -a---- 11/07/2017 18:10 2475 AppxManifest.xml -a---- 11/07/2017 18:11 10554 AppxSignature.p7x -a---- 11/07/2017 18:10 201254783 install.tar.gz -a---- 11/07/2017 18:10 4840 resources.pri -a---- 11/07/2017 18:10 222208 ubuntu.exe -a---- 11/07/2017 18:10 809 [Content_Types].xml |
Ahora lanzamos el ejecutable ubuntu.exe, tendremos que configurar el usuario y la contraseña:
1 2 3 4 5 6 7 8 9 10 11 12 |
PS C:\Users\Administrator\ubuntu> .\ubuntu.exe Installing, this may take a few minutes... Installation successful! Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Default UNIX user set to: runzue To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. |
Y ya tendríamos instalado el subsistema linux (WLS) en nuestro Windows Server 2019. Lo primero que haremos es lanzar un update:
1 |
sudo apt update |
INSTALACION DOCKERS UBUNTU WLS EN W2019
Con el sistema actualizado ya podemos hacer otras tareas. Actualizamos pre-requisitos para instalar dockers, por ejemplo:
1 |
sudo apt install apt-transport-https ca-certificates curl software-properties-common |
Ahora instalamos los GPG para Dockers:
1 |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
Y añadimos el repositorio necesario:
1 |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu <span class="highlight">bionic</span> stable" |
Actualizamos nuevamente:
1 2 3 4 5 6 7 8 9 10 11 12 |
runzue@CONTAINERS:~$ sudo apt update Hit:1 http://security.ubuntu.com/ubuntu xenial-security InRelease Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease Get:3 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB] Hit:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease Get:6 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages [2,244 B] Fetched 66.7 kB in 2s (30.8 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 178 packages can be upgraded. Run 'apt list --upgradable' to see them. |
Ahora nos aseguramos que vamos a instalar del repo que necesitamos:
1 2 3 4 5 6 7 8 9 10 11 |
runzue@CONTAINERS:~$ apt-cache policy docker-ce docker-ce: Installed: (none) Candidate: 18.06.1~ce~3-0~ubuntu Version table: 18.06.1~ce~3-0~ubuntu 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 18.06.0~ce~3-0~ubuntu 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 18.03.1~ce~3-0~ubuntu 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages |
Y lanzamos el instalador:
1 |
sudo apt install docker-ce |
Comprobamos que hemos instalado correctamente y el demonio de docker está corriendo. Tendréis que gestionarlo con root:
1 |
service docker status |
Probamos a lanzar un docker:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
root@CONTAINERS:~# docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 124c757242f8: Pull complete 9d866f8bde2a: Pull complete fa3f2f277e67: Pull complete 398d32b153e8: Pull complete afde35469481: Pull complete Digest: sha256:de774a3145f7ca4f0bd144c7d4ffb2931e06634f11529653b23eba85aef8e378 Status: Downloaded newer image for ubuntu:latest root@CONTAINERS:~# docker create -t -i ubuntu bash 8c7df47ae2f6a8bc00e2549b5d95988c302d94de2b00fd103224b9f13a057863 root@CONTAINERS:~# docker start -a -i 8c7df47ae2f6a8bc00e2549b5d95988c302d94de2b00fd103224b9f13a057863 root@8c7df47ae2f6:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr |
Con esto ya tenemos docker Linux en WLS sobre Windows Server 2019.
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Un comentario
Pingback: Nginx sobre container en Windows Server 2019 - VMware Citrix Blog