下载安装 docker desktop windows
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
镜像加速
https://docker.mirrors.ustc.edu.cn/
启动错误
- 卸载 docker desktop
- 删除:C:\Users\xxx(自己的账号目录下).docker
安装 WSL2-Ubuntu20.04
WSL-Ubuntu20安装 WSL2-Centos8
PowerShell 中执行运行 centos 容器
docker run --name c8 centos:8
导出 centos
docker export c8 -o d:\centos8.tar
WSL 导入
wsl --import Centos8 c:\centos8 D:\centos8.tar --version 2
WSL 开启
```powershell wsl -d Centos8查看版本
cat /etc/redhat-release CentOS Linux release 8.3.2011
<a name="nkum3"></a>
# 构建开发环境
<a name="KukEE"></a>
## 进入 centos
```powershell
wsl -d Centos8
oralce
wget -O /mnt/d/ora_basic.rpm https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
wget -O /mnt/d/ora_devel.rpm https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-devel-19.9.0.0.0-1.x86_64.rpm
rpm -ivh /mnt/d/ora_*.rpm
echo 'export ORACLE_HOME=/usr/lib/oracle/19.9/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
python
## 检查最新版本
yum search python
## 安装 python38 (python39安装组件会报错)
yum install python38 python38-devel -y
ln -sf /usr/bin/python3.8 /usr/bin/python
ln -sf /usr/bin/pip3.8 /usr/bin/pip
## python换源
mkdir -p ~/.pip/
echo '[global]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com' > ~/.pip/pip.conf
## pip 升级
pip install --no-cache-dir --upgrade pip
## 安装常有组件
pip install --no-cache-dir pandas flask launchpadlib msgpack cx_Oracle SQLAlchemy paramiko redis psycopg2-binary xmltodict py_smtp color_log PyYAML pyecharts pipreqs twine openpyxl xlrd xlwt waitress pymysql py_ctp
golang
## 下载解压
wget -O go.tar.gz https://studygolang.com/dl/golang/go1.16.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go.tar.gz
ln -s /usr/local/go/bin/go /usr/bin/go
rm -f go.tar.gz
echo 'export GOPROXY=https://goproxy.io
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
开启 SSH
## 安装openssh-server
yum install -y openssh-server
## 启用sshd 密码访问
echo "root:pentakill" | chpasswd
ssh-keygen -A
nohup /usr/sbin/sshd -D &
## 系统启动时自动运行
echo "nohup /usr/sbin/sshd -D &" >> /etc/profile
配置 .wslconfig
编辑宿主文件 C:\Users\
[wsl2]
memory=4GB
swap=8GB
localhostForwarding=true
生效
# 需要管理员权限
net stop LxssManager
net start LxssManager
外部访问 sshd
宿主访问
#查看wsl2 IP
wsl ip a |wsl grep -w "inet" |wsl cut -d " " -f 6 |wsl cut -d "/" -f 1 | wsl grep -v '127.0.0.1'
## 宿主访问方式 # 密码 pentakill
ssh root@127.0.0.1
ssh root@localhost
外网访问
centos.wsl
## centos8中修改宿主的 hosts
cat >> /etc/profile << 'EOF'
ipaddr=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
sed -i '/centos.wsl/d' /mnt/c/Windows/System32/drivers/etc/hosts
echo "$ipaddr centos.wsl" >> /mnt/c/Windows/System32/drivers/etc/hosts
EOF
## 权限问题: 管理员运行 powershell,再 wsl -d Centos8
source /etc/profile
win10
# 查看windows防火墙转发规则
netsh interface portproxy show all
# 添加转发使用别名替代 WSL2 IP
## listenport win10 端口
## connectport wsl 端口
netsh interface portproxy add v4tov4 listenaddress=* listenport=22 protocol=tcp connectaddress=centos.wsl connectport=22
# 删除转发
# netsh interface portproxy delete v4tov4 listenport=22
# 访问
ssh root@win10IP