zoukankan      html  css  js  c++  java
  • 安装 WSL2、Ubuntu 及 docker(详细步骤)

    本文链接: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”,那就是还没启动BLOS 虚拟化功能,修改BLOS配置的方法请自动百度(一般是开机按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)BLOS开户cpu虚拟化功能,Intel Virtualization Technology : Enable;

    4)以管理员身份启动 ubuntu;

    5)看docker官方的安装教程

    6)不要安装最新版本docker

    本文链接:https://www.cnblogs.com/tujia/p/13438639.html


    完。

  • 相关阅读:
    SSH 密钥类型的的选择
    VMware 默认的虚拟交换机关系与VMnet设置
    路由器端口映射不生效的解决方法
    优先使用对象组合,而不是类继承
    权限管理系统之软件注册模块
    如何正确安装phpDocumentor
    IE下cookie跨域问题
    Linux下Apache无法解析.php文件
    用 memcache 来存储 session
    windows7 下 phpunit 安装
  • 原文地址:https://www.cnblogs.com/tujia/p/13438639.html
Copyright © 2011-2022 走看看