WSL2(Ubuntu)安装Docker

WSL2增加了对docker的支持以后大半年,我准备尝试在WSL2上安装docker,但是踩了无数的坑,这里记录一下,避免大家再有我这样的悲惨遭遇

原文链接: https://www.cnblogs.com/blog5277/p/12071400.html

原文作者:博客园–曲高终和寡

***如果你看到这一行,说明爬虫在本人还没有发布完成的时候就抓走了我的文章,导致内容不完整,请去上述的原文链接查看原文****

1. 一定要确认windows版本在189XX以后!!!!!!!!!!!!!!!!!!!

用一般的消费者版装的win10正式版,哪怕在2019年12月,windows版本仍然在183XX的版本,所以请在系统升级那里换成预览版,选FAST,然后重新更新系统,

如果更新成功,直接看第2步

如果更新失败,十有八九是因为要求必须用GPT+UEFI启动,

电脑里很多重要文件/动手能力差的,请直接放弃!!!!!!!!!!!!!!!!!!!

进BIOS设置仅UEFI启动,然后重装系统(我试过在现有基础上直接从MBR转GPT,然后修改成UEFI启动,结果开机直接提示错误代码:0xc000000e,还是直接重装好一点),(这里记得装系统用的U盘也设置成仅UEFI启动,否则没法识别),转预览版,选FAST,更新

2. 按win+X,点命令提示符(管理员)[有的版本显示Windows PowerShell],输入:

1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

重启

3. 进微软商店,搜Ubuntu,下载

4. 按win+X,点命令提示符(管理员)[有的版本显示Windows PowerShell],输入:

1
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

再默认使用WSL2

1
wsl --set-default-version 2

查看是不是WSL2

1
wsl -l -v

5. 打开ubuntu,切换到root(好像也可以不切,只是我喜欢)

1
2
3
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo service docker start

6. 从189XX版本后,windows也可直接访问WSL2里面的端口了

比如WSL2里用docker安装了postgres

1
docker run -d -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres --name postgres -p 5432:5432  --restart=always postgres

可以直接在windows上的pgadmin访问localhost的5432端口连接进WSL2里面的docker运行的postgres

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.