参考
- 导入要与 WSL 一起使用的任何 Linux 发行版 microsoft
- WSL2 的 2.0 更新彻底解决网络问题
- install daemon and client binaries on linux
- Install Compose standalone
WSL配置
在HOST中,编辑用户目录下的.wslconfig
文件
我需要使用docker,测试发现autoMemoryReclaim
只能设置为disabled时,才可以使用HOST地址访问到容器端口
[experimental]
autoMemoryReclaim=disabled # 可以在 gradual/dropcache/disabled 之间选择
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true
使用Centos7 rootfs发行版
在HOST中,下载 CentOS-WSL ,解压得到rootfs发行版并导入
# 解压获得rootfs.tar.gz,重命名为centos-rootfs.tar.gz,便于区分
mv rootfs.tar.gz centos-rootfs.tar.gz
# wsl --import <distribution-name> <install-folder> <tarball>
wsl --import centos D:\wsl "D:\wsl\centos-rootfs.tar.gz"
配置
在WSL中配置(以下命令均在WSL中执行)
# 时区
echo "ZONE=Asia/Shanghai" >> /etc/sysconfig/clock
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 使用清华源
sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' -i.bak /etc/yum.repos.d/CentOS-*.repo
yum clean all
yum makecache
使用二进制方式安装Docker
cd /usr
curl -O https://download.docker.com/linux/static/stable/x86_64/docker-25.0.3.tgz
tar zxf docker-25.0.3.tgz
cp docker/* /usr/bin/
配置Docker
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://mirror.baidubce.com",
"https://docker.mirrors.sjtug.sjtu.edu.cn"
],
"log-driver":"json-file",
"log-opts": {"max-size": "100m", "max-file": "5"}
}
EOF
# 运行测试
dockerd
# 临时自启动 bashrc 方式
cat >> ~/.bashrc << EOF
if [ -z "\$(pidof dockerd)" ]; then
nohup /usr/bin/dockerd > /tmp/dockerd.log 2>&1 &
fi
EOF
使用二进制方式安装Docker Compose
curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
启用systemctl
cat >> /etc/wsl.conf << EOF
[boot]
systemd=true
EOF