WSL使用Centos7发行版(rootfs)

参考

  • 导入要与 WSL 一起使用的任何 Linux 发行版 microsoft
  • WSL2 的 2.0 更新彻底解决网络问题
  • install daemon and client binaries on linux

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   
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

# 临时自启动
cat >> ~/.bashrc << EOF

if [ -z "\$(pidof dockerd)" ]; then
    nohup /usr/bin/dockerd > /tmp/dockerd.log 2>&1 &
fi
EOF

启用systemctl

cat >> /etc/wsl.conf << EOF
[boot]
systemd=true
EOF

你可能感兴趣的:(docker,centos,wsl)