1. Instalar wsl
Requiere una versión de Windows superior a
Buscar para habilitar o deshabilitar las funciones de Windows
Verifique las funciones marcadas con puntos rojos en la imagen. Tenga en cuenta que si marca Hyper-V, no podrá usar software de máquina virtual, como vm y el emulador de Android. Haga clic en Aceptar y reinicie la computadora.
Abrir administrador de tareas
Asegúrese de que la virtualización esté habilitada. Es posible que algunos dispositivos necesiten ir a la configuración del BIOS y verificar la información relevante usted mismo.
Descargue el paquete de actualización del kernel wsl2 de 64 bits https%3A//wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Después de la instalación, configure la versión wsl predeterminada
wsl --set-default-version 2
instalar sistema linux
Método 1: Puede buscar e instalar desde la tienda de Microsoft, pero existe la probabilidad de que falle.
Método 2: Vaya al final de la página y descargue la versión que necesita. Pasos de instalación manual para versiones anteriores de WSL | Microsoft Aprenda instrucciones paso a paso para instalar WSL manualmente (en lugar de usar el comando de instalación de wsl) en versiones anteriores de Windows. https://docs.microsoft.com/zh-cn/windows/wsl/install-manualAgregue un sufijo .zip al archivo descargado y use un software de descompresión para descomprimirlo en el lugar donde desea instalarlo.
Haga clic en el archivo ubnutu.exe que se encuentra dentro y espere un momento hasta que la instalación se realice correctamente.
Vaya a cmd e ingrese wsl -l -v para verificar la versión del subsistema instalado
2. Configuración una vez completada la instalación:
Una vez completada la instalación, establecerá su propio nombre de usuario y contraseña (tenga en cuenta que no es la cuenta raíz)
Establecer contraseña de root
sudo passwd
Cambiar prueba de usuario root
su root
Es muy problemático cambiar el usuario root cada vez. Puede usar powershell para ejecutar el siguiente comando. De forma predeterminada, el usuario root inicia sesión. Reemplace los parámetros usted mismo.
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root
Iniciar servicio ssh
Primero asegúrate de ser el usuario root.
vi /etc/ssh/sshd_config
Luego de ingresar modifica la siguiente configuración, puedes copiar la mía directamente, (los elementos que modifiqué están comentados)
# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Port 22 #22端口,ssh服务默认端口
#AddressFamily any
ListenAddress 0.0.0.0 #所有ip都可以联通
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PermitRootLogin yes #把上面那行相同的注释掉,新加一行,允许root账户登录
#PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes #允许使用密码登录
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
Reinicie el proyecto ssh
sudo service ssh restart
Pruebe el enlace usando la herramienta ssh
éxito
3. Instalación de Docker-Desktop en Windows
Descargue el paquete de instalación de Docker-Desktop del sitio web oficial. Asegúrese de que todas las funciones de Windows habilitadas en el primer paso estén habilitadas.
Descargar Docker de escritorio | Estibador
Proceso normal de instalación de software
Ingrese al software y haga clic en el engranaje pequeño para ingresar a la configuración
Comprueba el ubnutu que instalaste
Cambie la dirección del almacén de imágenes. Yo uso Alibaba Cloud y hay muchos en línea, como la Universidad de Ciencia y Tecnología de China, etc.
{
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://lcuu39wt.mirror.aliyuncs.com"
]
}
Después de la configuración, abra la terminal e ingrese docker ps
Verá que Docker y su subsistema Linux ya están conectados.
4. Problemas existentes y soluciones
Problema 1: cada vez que se reinicia wsl, asignará aleatoriamente una nueva IP al subsistema, lo que hará que la herramienta ssh ingrese una nueva IP cada vez, lo que no favorece el desarrollo.
Problema 2: el servicio ssh no se inicia automáticamente
Soluciones:
Este es un script por lotes escrito por el autor para configurar la IP del subsistema. Si lo ejecuta con privilegios de administrador, cerrará automáticamente wsl, configurará la información relacionada con la tarjeta de red wsl, reiniciará wsl y se empaquetará en un archivo ejecutable para todos. usar.
Sin embargo, hay un problema con el uso de este script, es decir, debido a que se reinicia wsl, la conexión entre Docker y WSL se desconectará. Debe reiniciar el proceso de Docker y el servicio ssh. También puede usar un script para completar esta operación. , pero implica problemas de ruta de archivo. , por lo que no se proporciona. Puede usar chatgpt para completar esta pequeña función o puede hacerlo manualmente.
Reinicie el comando del servicio ssh y modifique los parámetros según sea necesario.
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe run "sudo service ssh restart"