• Home
  • About
    • Moon photo

      Moon

      a development programmer, backend, Java.

    • Learn More
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

WSL2 usage

25 Feb 2023

Reading time ~1 minute

WSL2 和 docker 安装

WSL2 安装

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart-Computer

更新设置版本

# 更新前检查 Windows 10 LTSC 2021 是否安装 KB5020030
wsl --update
wsl --set-default-version 2

WSL2 配置并启用 systemd

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
echo -e '[boot]\nsystemd=true' |sudo tee -a /etc/wsl.conf
sudo systemctl list-units --type=service
sudo apt install -fy net-tools
sudo apt install -fy libreoffice
fc-list :lang=zh-cn
sudo locale-gen zh_CN.UTF-8

安装 docker

sudo apt install -fy docker.io
sudo systemctl enable docker
sudo usermod -aG docker $USER
newgrp docker

docker run --name mysql --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=masterA@#1 -e TZ=Asia/Shanghai -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_unicode_ci
docker run --name redis --restart always -p 6379:6379 -e TZ=Asia/Shanghai -d redis:5.0
docker run --name nginx --restart always -p 8000:80 -e TZ=Asia/Shanghai -d nginx

Recommended Apps

  • Docker(WSL)
  • Ubuntu20.04(UWP)
  • nodejs
  • python
  • ffmpeg
  • mysql(Docker)
  • redis(Docker)

WSL bash


#!/bin/bash
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
sudo apt install -fy curl jq mycli build-essential gdb python3-pip wkhtmltopdf ffmpeg nginx mysql-server redis-server fonts-noto docker.io
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'masterA@#1';"

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

whereis g++
whereis gdb
nginx -v
mysql --version
redis-server --version

wkhtmltopdf --version
ffmpeg -version

一键安装脚本wsl.sh

#!/bin/bash
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
sleep 3
sudo apt install -fy python3-pip ffmpeg wkhtmltopdf fonts-noto libreoffice
sudo apt install -fy build-essential gdb
# sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'masterA@#1';"

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

whereis g++
whereis gdb
# nginx -v
# mysql --version
# redis-server --version

wkhtmltopdf --version
ffmpeg -version

# curl -fsSL https://get.docker.com -o get-docker.sh
CURRENT_DIR=$(cd $(dirname $0); pwd)
cd ${CURRENT_DIR}
sudo sh get-docker.sh


LinuxWSL2Windows 10docker Share Tweet +1