WSL上使用docker遇到问题解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSL上使用docker遇到问题解决相关的知识,希望对你有一定的参考价值。
参考技术A win10家庭版是不支持Docker安装的。但是不用担心,广大网友总是很有办法的。参考链接: https://www.cnblogs.com/samwu/p/10360943.html
以上链接亲测有用。
安装成功后在系统托盘能看到Docker的图标
遇到问题:
解决办法:
打开Docker Desktop,进入setting:
之后再进入Ubuntu子系统就可以正常使用Docker了。
输入“docker version”正常打印docker信息:
在完成二中Docker Desktop的设置后,使用centos7子系统发现很是有问题。
遇到问题:
解决办法:
以管理员身份运行CMD,进入centos子系统,运行一下命令:
至此,问题解决,输入"docker version"命令,正常打印docker信息。
带有 VSCode + WSL2 + Docker 的 Windows 上的 Git + SSH 密钥问题
【中文标题】带有 VSCode + WSL2 + Docker 的 Windows 上的 Git + SSH 密钥问题【英文标题】:Git + SSH key issues on Windows with VSCode + WSL2 + Docker 【发布时间】:2021-04-07 01:54:57 【问题描述】:在过去的几周里,我在谷歌上搜索并尝试了很多,但似乎无法找到正确的组合来让它发挥作用。
我使用的是 Windows 10,并且正在将 VSCode 与 Docker 和 WSL2 一起使用。在我的一生中,我无法让 git + ssh 密钥正常工作,这样我就可以在我的 Docker 容器中进行推送和拉取。
在 WSL2 上使用 Windows 终端应用程序和 Ubuntu 20.04 可以正常工作。我从 Windows 端复制了我的 SSH 密钥,并适当地更改了权限,没有任何问题。
在我使用 Docker Compose 的项目中,我尝试使用卷 (~/.ssh:/root/.ssh)
,但此配置的问题是 .ssh
目录中所有内容的所有者变为 1000:1000,当我尝试执行任何 git操作,我收到一条消息:
bad permissions or owner on /root/.ssh/config
我也尝试过不使用该卷并使用 VSCode 文档中概述的 ssh 代理转发,但是当我尝试拉或推时,我会从 github 获得许可。
有没有人能顺利完成这项工作?从终端执行我的所有 git 命令并不是什么大不了的事,但能够在 Docker 容器中成功执行它肯定会很方便。
【问题讨论】:
【参考方案1】:/root/.ssh/config
表示您的容器需要使用 USER root
运行,而不是默认用户 1000:1000。
如果可能的话,我建议:
如果可能的话,构建您自己的映像,您可以在其中定义用户 ID/组以匹配您的本地用户 ID/组。 将 ssh 文件夹挂载到容器~user/.ssh
路径
这样,容器的内部 id/组将匹配外部主机用户 id/组,并且可以从容器内部读取 SSH 文件。
【讨论】:
谢谢——我会试一试的。以上是关于WSL上使用docker遇到问题解决的主要内容,如果未能解决你的问题,请参考以下文章
【Windows Docker】docker挂载解决IO速度慢的问题