草庐IT

win11安装通过WSL安装docker

何忆清风 2023-05-05 原文

1. 安装WSL2

在 windows 平台上 docker 都是基于 WSL2 子系统进行安装的,安装 docker 就需要先在 windows 系统上面安装上 WSL2 子系统,具体 WSL2 是什么软件,大家可以自行百度,通俗的讲就是 windows 上面的一个 linux 内核的子系统,内嵌在windows中,但是有一个好处就是,wsl2 跟 windows 中的文件系统是互通的,比如在 linux 上编译 JDK 的源码,可以在 windows 上面通过软件打开并且进行调试,借助linux的环境进行编译源码可以减少很多不必要的问题。

1.1 开启虚拟化


控制面板 --> 程序 网上还说了需要开启 Hyper-V , 这里我没有开启也没有影响

2. 安装WSL2

2.1 更新WSL

先执行命令,更新 WSL 到最新的版本

wsl --update

2.2 设置WSL默认版本

wsl --set-default-version 2

2.3 查看可以安装版本

wsl --list --online

2.4 安装Ubuntu18.04

这里也可以打开微软商店进行下载,也可以通过命令行下载

wsl --install -d Ubuntu18.04

如果出现了下面这个异常:数据无效 Error code:wsl/Service/CreateVm/0x8007000d,证明Ubuntu的时间校验过期了,这时候将系统的时间调整到安装的时间,比如:9月安装,现在11月,那么将系统调整了 9月就可以了,等启动了再改回去即可

找到Ubunt18.04进行启动就可以了,刚进去需要设置一个账号和密码

2.5 修改镜像位置

通过以下命令重新导入导出可以修改安装镜像的位置,一开始默认安装在C盘

wsl --export Ubuntu-18.04 E:\wsl2\Ubuntu-18.04.tar
注销原来的镜像文件
wsl --unregister Ubuntu-18.04
重新导入
wsl --import Ubuntu-18.04 E:\wsl2\Ubuntu-18.04 E:\wsl2\Ubuntu-18.04.tar --version 2

3. 安装docker-desktop

3.1 安装docker

下载 docker-desktop安装文件,两个路径一个官网,一个直接下载

  • https://www.docker.com/get-started/
  • https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=module

    所有的都直接默认安装,因为 docker-desktop 必须要要安装在 c盘,但是镜像可以安装在其他盘中,docker 会默认在 wsl中安装两个子系统,我们需要将其两个更改一下位置,因为默认是安装在 C 盘中
  • docker-desktop-data:存放镜像数据
  • docker-desktop:桌面应用系统

3.2 修改镜像位置

然后重启 docker-desktop 即可

wsl --export docker-desktop-data E:\wsl2\docker-desktop-data.tar
wsl --export docker-desktop E:\wsl2\docker-desktop.tar
注销原来的镜像文件
wsl --unregister docker-desktop-data
wsl --unregister docker-desktop
重新导入
wsl --import docker-desktop-data E:\wsl2\docker-desktop-data E:\wsl2\docker-desktop-data.tar --version 2
wsl --import docker-desktop-data E:\wsl2\docker-desktop E:\wsl2\docker-desktop.tar --version 2

其中还默认安装了 docker-compose 文件

3.3 修改镜像源

"registry-mirrors": [
   "https://registry.docker-cn.com",
   "http://hub-mirror.c.163.com",
   "https://docker.mirrors.ustc.edu.cn"
 ]

3.4 启动Tdengine

docker pull tdengine/tdengine:3.0.1.4
docker run -d -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine:3.0.1.4

启动了之后容器中就可以看到状态了


有关win11安装通过WSL安装docker的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  4. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  5. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  6. ruby - 通过 erb 模板输出 ruby​​ 数组 - 2

    我正在使用puppet为ruby​​程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby​​不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这

  7. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  8. ruby - 通过 ruby​​ 进程共享变量 - 2

    我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是

  9. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  10. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

随机推荐