首页 > 解决方案 > docker-desktop wsl 时间同步

问题描述

我对 docker-desktop wsl“系统?”有疑问。

我还没有安装支持 hyper-v 的 docker-desktop。

当我wsl -i -v在 cmd 上执行时,我得到:

C:\windows\system32>wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

而且我不想要一个额外的操作系统,例如 Ubuntu。

我不能做任何 sudo 或 apt 安装。当我尝试执行 wsl sudo 时,wsl 会说“/bin/sh: sudo: not found”等等。

我想运行“sudo ntpdate”命令,但由于它找不到 sudo,我不走运。

如果我尝试执行“wsl ntpdate ...”,它会显示相同的“/bin/sh: ntpdate: not found”。

我有什么选择?

标签: windows-subsystem-for-linuxdocker-desktop

解决方案


该命令hwclock -s对我有用!如果在 Windows 上,您可以在 powershell 中运行此命令,Docker 将再次获得正确的时间:

wsl -d docker-desktop -e "hwclock -s"

由于在 Windows 中使用睡眠模式时(根据我的经验),此问题通常会发生,因此您可能希望在 Windows 中创建计划任务。您可以创建一个基本任务,使用特定的事件触发模式,并将这些设置用作源:

  • 日志:System
  • 资源:Kernel-Power
  • 事件 ID:(507系统正在退出连接待机)

然后你可以运行这个:

  • 程序:c:\Windows\System32\wsl.exe
  • 参数:-d docker-desktop -e "hwclock -s"

每次唤醒后,您都会看到一个 wsl.exe 窗口,但这会自动进行临时修复。


推荐阅读