标签: windows-subsystem-for-linux

使用 Docker 桌面运行 WSL 时,Docker 卷位于何处?

我在 Windows 10 下使用 Ubuntu 作为客户端操作系统运行Windows 子系统 Linux (WSL)。现在我在 Windows 主机上安装了Docker Desktop,并在 Docker 设置中启用了 WSL 集成。到目前为止一切正常,我可以从我的 WSL Ubuntu 客户端访问在 Windows 主机上运行的 Docker 守护进程。

现在我想知道所有 Docker 卷和其他数据在此设置中存储在哪里。通常这些在 下/var/lib/docker,但在使用 WSL 时似乎并非如此。运行时,df -h我可以看到以下与 Docker 相关的行:

/dev/sdd        251G  3.1G  236G   2% /mnt/wsl/docker-desktop-data/isocache
/dev/sdc        251G  120M  239G   1% /mnt/wsl/docker-desktop/shared-sockets
/dev/loop0      244M  244M     0 100% /mnt/wsl/docker-desktop/cli-tools
Run Code Online (Sandbox Code Playgroud)

所以它们似乎在 Windows 主机上的某个地方。
... 但是哪里?

docker windows-subsystem-for-linux docker-desktop

21
推荐指数
7
解决办法
2万
查看次数

将WSL(Windows上的Bash)根文件系统移动到另一个硬盘驱动器?

我刚刚将笔记本电脑中的Windows 10升级到Redstone 1.所以我测试了Linux子系统(Windows上的WSL,LXSS或Bash).基本上,一切都很好,但是存在一个问题,即WSL的RootFS位于%LocalAppData%路径(例如C:\Users\xyz\AppData\Local)中,这也是我的Windows操作系统所在的位置.它在我的笔记本电脑中消耗了大量的SSD硬盘空间,我希望我可以将它移动到我的外置硬盘.

还有一个问题.由于其他硬盘驱动器分区作为DriveFS安装,它不支持某些Linux文件系统功能chmod,并且我的一些Linux项目构建脚本仅适用于仅位于/和中的VoIFS /home.

所以我试图将整个WSL RootFS移动到另一个硬盘驱动器.首先,我试图制作一个NTFS Junction(硬链接)C:\Users\xyz\AppData\Local\lxss.我已经完全卸载了WSL并将mklinkRootFS 运行到另一个硬盘驱动器,当我再次重新安装WSL时,它无法创建新用户,并且它报告错误代码为0x80070003.

然后我四处搜索,我得到了这个:移动Linux文件系统 - 问题#449.似乎移动和制作WSL RootFS的硬链接仅在Windows 10 Build 14388之前有效,它在Windows 10 Build 14393 RTM中不起作用.唯一的办法是将整个移动%LocalAppData%到外部硬盘驱动器,但我不能这样做,因为我是一个笔记本电脑用户,我无法到处携带外置硬盘!

所以我想问一下,有没有其他方法可以将WSL移出我的系统分区?如果我不能做到这一点,我可以创建在其他一些地方的额外VoIFS工作目录和编译我的东西?

谢谢和问候,杰克逊

windows windows-subsystem-for-linux

20
推荐指数
4
解决办法
2万
查看次数

从 Windows 主机连接到 wsl2 Ubuntu docker

我有 Windows 10 并安装了 Docker Desktop。在他们更改商业使用条款后,我决定删除 Docker Desktop 安装并仅使用 docker 引擎本身(因为我没有使用 GUI)。我已经docker在 WSL 2 下安装在 Ubuntu 上并且工作正常:

localusr@MACHINE:~$ docker context ls
NAME            DESCRIPTION                               DOCKER ENDPOINT                             KUBERNETES ENDPOINT   ORCHESTRATOR
default *       Current DOCKER_HOST based configuration   unix:///mnt/wsl/shared-docker/docker.sock                         swarm
desktop-linux                                             npipe:////./pipe/dockerDesktopLinuxEngine
Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.
localusr@MACHINE:~$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working …
Run Code Online (Sandbox Code Playgroud)

ubuntu pipe docker windows-subsystem-for-linux wsl-2

20
推荐指数
1
解决办法
7522
查看次数

如何解决“Docker Desktop - WSL 内核版本太低”错误

如何解决“Docker Desktop - WSL 内核版本过低 [内容]”错误?

错误消息的其余部分:

Docker Desktop 需要更新的 WSL 内核版本。

通过运行“wsl --update”更新 WSL 内核,或按照https://docs.microsoft.com/windows/wsl/wsl2-kernel中的说明进行操作。

在此输入图像描述

解决办法是:

  • wsl --update

kernel version docker windows-subsystem-for-linux

20
推荐指数
1
解决办法
4万
查看次数

WSL 在 Windows 11 上响应每个命令“WSL 正在完成升级...更新失败(退出代码:1603)”

我已打开电脑并尝试启动 Docker Desktop。不幸的是,WSL 出现错误:

Docker Desktop - Unexpected WSL error

An unexpected error was encountered while executing a WSL command. Common causes include access rights issues, which occur after waking the computer or not being connected to your domain/active directory.

Please try shutting WSL down (wsl --shutdown) and/or rebooting your computer. If not sufficient, WSL may need to be reinstalled fully. As a last resort, try to install/reinstall Docker Desktop. If the issue persists please collect diagnostics and submit an …
Run Code Online (Sandbox Code Playgroud)

docker windows-subsystem-for-linux windows-11

20
推荐指数
0
解决办法
3万
查看次数

chmod WSL(Bash)不起作用

在Windows 10上运行bash时,下面的简单语法在我通过SSH连接到我的网络服务器时起作用,但是当我退出并在我的本地机器上时则不行.它没有给我一个错误,但我可以看到权限不变.我必须检查我是否在计算机上设置为管理员.这是一个错误还是仅仅是本地操作系统是Windows的结果?如果是后者,它会让我质疑在Windows上使用bash的价值,如果这样的常见操作不起作用.

$chmod 644 filename 
Run Code Online (Sandbox Code Playgroud)

bash chmod windows-10 windows-subsystem-for-linux

19
推荐指数
3
解决办法
1万
查看次数

记住 WSL 中的 git 密码

我使用 WSL 运行 Windows 10。我在一台计算机上有所需的行为,但无法在其他地方复制。这是我所追求的:

  1. 我第一次使用 ssh 密钥运行远程 git 命令时,git 提示我输入密码
  2. 随后没有提示,包括在新的终端窗口中(我使用 ConEmu)
  3. 当所有控制台窗口都关闭时,回到#1

我尝试过的事情:

  • 使用eval $(ssh-agent), 后跟ssh-add; 它会记住密码,但如果我把它放在我的~/.bash_profile那么它会提示我输入每个新的控制台窗口,并且我打开了很多 - 其中许多我没有使用 git。
  • 设置git config --global credential.helpercachestore
  • 一切 这里的
  • 使用bash.exewsl.exe得到git-credentials-manager.exe工作

这是我放入我的内容的示例 ~/.gitconfig [credential] helper = "/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

我已经安装了git credential manager这里并且还尝试了主要的 Git For Windows 安装作为替代。

我怎样才能鼓励它记住我的密码?

git ssh-agent windows-subsystem-for-linux

19
推荐指数
3
解决办法
5605
查看次数

如何在Windows 10 Bash上使用带有Emacs的X Windows?

我在Windows程序上使用Ubuntu上的Bash来使用Emacs for C++.现在,我可以使用键盘快捷键对所有内容进行编码,但是,我想用鼠标选择文本或用鼠标设置标记,而不是总是使用我的键盘.

为了获得X Windows系统,我已经做了,sudo apt-get install xserver -xorg但emacs仍然在终端编辑器中运行.

我不知道使用什么其他命令或如何让X Windows开始运行.

emacs windows-subsystem-for-linux

18
推荐指数
2
解决办法
2万
查看次数

如何在Windows上的Bash vim中"复制到剪贴板"?

我曾经用来"+y将文本复制到系统的剪贴板,但它在Windows上的Bash vim中不起作用.

vim bash windows-subsystem-for-linux

18
推荐指数
6
解决办法
7528
查看次数

WSL - GEDIT 无法初始化服务器:无法连接:连接被拒绝

我在 Windows 10 机器上使用 Ubuntu 18.04 作为 Linux 的 Windows 子系统。
我已经安装,gedit没有任何错误或警告。

但是每当我尝试使用该命令gedit something(这里有一个文件名)时,
我都会收到此错误:

Unable to init server: Could not connect: Connection refused

(gedit:48): Gtk-WARNING **: 21:03:26.729: cannot open display:
Run Code Online (Sandbox Code Playgroud)

linux ubuntu gedit windows-subsystem-for-linux

18
推荐指数
2
解决办法
8万
查看次数