本文鏈接:https://www.cnblogs.com/tujia/p/13438639.html
一、更新Windows版本
WSL 2 隨着 Windows build 19041 而推出,能更好的兼容 docker,如果你的電腦版本低於 19041,請先升級更新 Windows
注:如果你已經有WSL 2了,可以直接跳過步驟一、二、三。
查看版本及升級方法:
1)查看 Windows 版本的方法:Windows+r,運行 winver
2)升級方法
訪問:https://www.microsoft.com/zh-cn/software-download/windows10,點擊“立即更新”,下載 Windows10Upgrade.exe,雙擊運行即可
更新完之后,可以根據個人情況決定要不要刪掉 C:\Windows.old 文件夾及卸載 windows 10 易升 程序
二、啟用 VirtualMachinePlatform 組件
windows+x+a 打開 PowerShell ,輸入以下命令啟用 VirtualMachinePlatform(虛擬機平台)組件
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
保守起見,你也可以同時啟用 Hyper-V 組件,官方的文檔里沒說要啟用它
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
注:啟用組件之后,需要重啟電腦才會生效
三、啟動 wsl 2
注:如果你還沒有安裝過wsl linux 子系統,則先要開啟wsl功能, 在 PowerShell 中執行下面命令,然后重啟電腦即可
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
可以先用 wsl -l -v 來查看當前的wsl版本。如果顯示的是版本是1,則執行 wsl --set-default-version 2 來設置默認版本;
如果提示“錯誤: 0x1bc”或其他異常,可以試試更新 wsl linux內核版本
傳送門:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel,下載 wsl_update_x64.msi 程序並安裝
更新已有分發版本設置為 WSL 2
# 查看已有linux分發版本 wsl --list --verbose # 設置分發版本為 wsl 2 wsl --set-version <distribution name> <versionNumber>
注:如果 --set-version 2之后,wsl -l -v 還是顯示1的話,只能卸載重裝 ubuntu了
參考鏈接:
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
四、啟動 ubuntu
win+q 搜索 ubuntu,選擇以管理員身份運行
注:如果啟動 ubuntu 時報錯誤:“WslRegisterDistribution failed with error: 0x80370102”,那就是還沒啟動BIOS 虛擬化功能,修改BIOS配置的方法請自動百度(一般是開機按F2)
排查wsl 2安裝相關問題:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#troubleshooting-installation
鏡像加速:https://www.runoob.com/docker/docker-mirror-acceleration.html
五、安裝 docker
網上的安裝教程很多很亂
最好用官網的安裝教程!!
最好用官網的安裝教程!!
最好用官網的安裝教程!!
傳送門:https://docs.docker.com/engine/install/ubuntu/#installation-methods
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
最后一步重點:不能直接安裝最新版本的 docker!!!!(否則可能會有一堆bug等着你)
先運行如下命令,看一下有哪些包適合自己的系統的
apt-cache madison docker-ce
apt-cache madison docker-ce-cli
然后,選一個較低的版本安裝即可,例如:
sudo apt-get install docker-ce=5:19.03.9~3-0~ubuntu-focal docker-ce-cli=5:19.03.9~3-0~ubuntu-focal containerd.io
安裝過程常見錯誤:
1)如果報錯誤:sleep: cannot read realtime clock: Invalid argument,則
sudo mv /bin/sleep /bin/sleep~ touch /bin/sleep chmod +x /bin/sleep
2)如果報錯誤:gpg: can't connect to the agent: IPC connect call failed,則
sudo apt remove gpg sudo apt-get update -y sudo apt-get install -y gnupg1
如果還是不行,則
wget https://launchpad.net/~rafaeldtinoco/+archive/ubuntu/lp1871129/+files/libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb sudo dpkg --install libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb sudo apt-mark hold libc6 #to avoid further update
3)如果報錯誤:sudo: add-apt-repository: command not found,則
sudo apt install software-properties-common
六、docker 用戶組
安裝完之后,一般會提示
If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker tiac Remember that you will have to log out and back in for this to take effect!
注:意思是說,你好像不是用root來安裝的docker的,需要添加當前用戶到docker用戶組;tiac是我的用戶名,換成自己的用戶名就好
sudo usermod -aG docker your_name
七、啟動 docker
啟動 docker 服務
sudo service docker start
啟動之后,看一下服務狀態
sudo service docker status
如果提示“Docker is not running”,則關掉 ubuntu,以管理員身份重啟 ubuntu
啟動后,重新執行一下
sudo service docker start
sudo service docker status
如果顯示“Docker is running”,則基本沒什么問題了,如果還有錯,請參考下面步驟八
八、docker 測試
sudo docker run hello-world
如果提示“docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.”,則
sudo usermod -aG docker $USER sudo usermod -g docker $USER sudo service docker restart
如果pull超時,則更換 docker hub鏡像地址
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
詳情:https://www.daocloud.io/mirror#accelerator-doc
排除所有異常,最后效果(為了這個Hello World 不容易啊...)
總結:
1)windows 內部版本要升級到19041(或更高版本);
2)升級wsl1到wsl2(開啟 VirtualMachinePlatform),wsl --set-default-version 2;
3)BIOS開戶cpu虛擬化功能,Intel Virtualization Technology : Enable;
4)以管理員身份啟動 ubuntu;
5)看docker官方的安裝教程
6)不要安裝最新版本docker
本文鏈接:https://www.cnblogs.com/tujia/p/13438639.html
完。