win10 WSL2开发环境搭建(包含systemctl、docker、开机自启)

systemd安装

这一步主要是为了让systemctl可用

apt install -yqq fontconfig daemonize

创建脚本:sudo vi /etc/profile.d/00-wsl2-systemd.sh

SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')

if [ -z "$SYSTEMD_PID" ]; then   
    sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target   
    SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi

if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then    
    exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi

systemd开启

首先将wsl升级到最新版(win store下载的不是最新)

wsl --shutdown
wsl --update

参考官方文档wsl官方文档配置/etc/wsl.conf

[boot]
systemd=true

win10 WSL2开发环境搭建(包含systemctl、docker、开机自启)_第1张图片

安装docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce

设置开机启动WLS2、并启动docker

  1. 打开“任务计划程序”应用程序。你可以在开始菜单中搜索“任务计划程序”以打开它。
  2. 在左侧面板中,选择“任务计划程序库”。
  3. 在右侧面板中,右键单击空白区域,选择“创建任务”。
  4. 在“常规”选项卡中,输入任务的名称和描述。
  5. 在“触发器”选项卡中,选择“新建”,然后设置任务的触发条件。例如,你可以设置在用户登录时启动任务。
  6. 在“操作”选项卡中,选择“新建”,然后设置任务要执行的操作。在“程序/脚本”框中输入以下命令:
wsl -d Ubuntu -u root sh -c "/etc/init.d/docker start"
#其中Ubuntu为WSL2实例名

你可能感兴趣的:(docker,ubuntu,linux)