WSL使用指南 1、WSL介绍和安装 一、简介
Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
优势 :开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
一句话,在windows上不需要通过虚拟机运行Linux ,
二、准备工作 先开启Windows对子系统的支持:控制面板–>程序–>启用或关闭Windows功能
打开Hyper-V
打开适用于Linux的Windows子系统
三、安装WSL 1 启用适用于 Linux 的 Windows 子系统 需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
1 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2 启用虚拟机功能 安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
1 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
安装完重启后在PowerShell中设置默认为WSL2:
1 wsl --set-default-version 2
3 安装所选的 Linux 分发 在MicroSoft Store中搜索并下载想要使用的linux版本,我这里使用的ubuntu 20版本(或22版本)
4 运行WSL
终端使用命令
1 2 wsl -h # 查看命令help wsl # 运行wsl
2、进入WSL 安装开启ssh远程 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 sudo passwd root #设置root账号密码。根据提示输入root密码即可。 12345678 su User #切换账号. root账号是 # 结尾,非root账号是 $结尾 // 更新环境 sudo apt-get update ifconfig # 如果没有就执行下面的 sudo apt-get install net-tools // 安装ssh sudo apt-get install openssh-server sudo apt-get install openssh-server# 编辑sshd_config文件 vim /etc/ssh/sshd_config Port 2222 #设置ssh的端口号, 由于22在windows中有别的用处, 尽量不修改系统的端口号 PermitRootLogin yes # 可以root远程登录 PasswordAuthentication yes # 密码验证登录# 设置SSH的端口号,尽量避免与Windows端口号冲突 Port 2345# 允许远程登录 PermitRootLogin yes # 使用密码登录 PasswordAuthentication yes# SSH登录时的用户名字 AllowUsers wsl_username 安装ssh apt-get install ssh 开启 ssh /etc/init.d/ssh start 出现* Starting OpenBSD Secure Shell server sshd报错就$ ssh-keygen -A $ /etc/init.d/ssh start 可以远程连接了 sudo ps -e | grep ssh # 输入查看有没有启动成功 如果显示对应的端口号,就说明启动成功了
3、更新服务器软件源(阿里云源)并更新软件 1 2 3 4 5 6 7 8 9 10 # 使用 root 权限登录,后续输入密码 sudo -i # 接下来备份当前源,输入以下命令 cp /etc/apt/sources.list /etc/apt/sources.list.old # 这个sources.list文件就是源文件,删除该文件,重新写一个 rm /etc/apt/sources.list vim /etc/apt/sources.list
更新软件源(阿里云源)并更新软件 1 2 3 4 5 6 7 8 9 # 使用 root 权限登录,后续输入密码 sudo -i # 接下来备份当前源,输入以下命令 cp /etc/apt/sources.list /etc/apt/sources.list.old # 这个sources.list文件就是源文件,删除该文件,重新写一个 rm /etc/apt/sources.list vim /etc/apt/sources.list
复制下面内容,然后单击右键粘贴进去即可,之后按ESC,输入wq保存并退出。
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse # # deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse # # deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse # # deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
1 2 3 sudo apt update sudo apt upgrade
4、docker 安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1. 先卸载旧版本的docke sudo apt-get remove docker docker-engine docker.io 2. 更新一下apt-get源 sudo apt-get update 3. 安装GPG证书# 别忘了最后的“-” curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 4. 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 5. 列出可用版本 sudo apt-cache madison docker-ce 6. 更新并安装 Docker-CE sudo apt-get update sudo apt-get install docker-ce=5:23.0.5-1~ubuntu.20.04~focal sudo apt-get install docker-ce=5:24.0.4-1~ubuntu.22.04~jammy 7. 开启docker服务,查看docker状态 sudo service docker start sudo service docker status systemctl restart docker 8.使用docker的命令,查看现有镜像和正在运行的容器 docker images docker ps# docker compose安装 curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1 2 3 4 5 6 7 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
docker 换源 1 2 3 4 5 6 7 8 9 10 11 [root@localhost henryhzy]# vim /etc/docker/daemon.json # 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 { "registry-mirrors" : [ "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "https://cr.console.aliyun.com/" ] }$ systemctl daemon-reload $ systemctl restart docker $ docker info
5、docker搭建个人博客 安装docker-compose 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 先输入命令安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 测试已下版本 docker-compose --version 显示docker-compose version 1.26.0, build d4451659 再拉两个镜像 docker pull wordpress docker pull mysql:5.6 建一个文件夹放wordpress bolg mkdir -p /wang/wordpress
vi命令 创建一个docker-compose.yml
把下文内容写进docker-compose.yml里面 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 27 28 29 30 31 32 33 34 35 36 37 version: '3' services: wordpress: image: wordpress restart: always ports: - 80:9090 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb networks: - wang-net volumes: - wordpress:/var/www/html db: image: mysql:5.6 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql networks: - wang-net volumes: wordpress: db: networks: wang-net: driver: bridge
再执行命令启动这个compose
6、docker配置数据库