Windows10开启Ubuntu子系统并搭建Docker环境

   2023-02-09 学习力0
核心提示:很早就听说微软有个基于Ubuntu的子系统,一直也没机会尝试一下,之前也只是用VMware安装,但是还要单独安装软件,安装镜像,一点都不fit,所以就瞎折腾下(也是因为最近有空)。搭建Ubuntu子系统wsl是什么适用于 Linux 的 Windows 子系统(英语:Windows Subs

很早就听说微软有个基于Ubuntu的子系统,一直也没机会尝试一下,之前也只是用VMware安装,但是还要单独安装软件,安装镜像,一点都不fit,所以就瞎折腾下(也是因为最近有空)。

搭建Ubuntu子系统

wsl是什么

适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。

简单的说,就是在window上安装了个Linux

安装wsl

  1. 开启开发者模式

    依次打开 设置 -> 更新和安全 -> 开发者选项 -> 开发人员模式

    Windows10开启Ubuntu子系统并搭建Docker环境

    Windows10开启Ubuntu子系统并搭建Docker环境

    Windows10开启Ubuntu子系统并搭建Docker环境

  2. 开启windows子系统功能

    依次打开 控制面板 -> 程序 -> 启用或关闭Windows功能 -> 启用Windows子系统

    Windows10开启Ubuntu子系统并搭建Docker环境

    Windows10开启Ubuntu子系统并搭建Docker环境

    Windows10开启Ubuntu子系统并搭建Docker环境

  3. 更新Windows,重启

  4. 在Microsoft Store中搜索Ubuntu,并安装,如图:

    Windows10开启Ubuntu子系统并搭建Docker环境

    安装完后,默认是个终端,如下:

    Windows10开启Ubuntu子系统并搭建Docker环境

进入wsl

打开PowerShell,输入指令bash即可进入wsl子系统。默认是root账户,无密码。

Windows10开启Ubuntu子系统并搭建Docker环境

Docker环境搭建

由于Ubuntu默认的源下载速度异常缓慢,所以我们需要替换成国内阿里云的镜像源。

确认默认源

vim /etc/apt/sources.list

修改默认源

  1. 备份默认源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.20200225
    
  2. 然后 VIM 打开,替换

    sudo vim /etc/apt/sources.list
    
    %s/security.ubuntu/mirrors.aliyun/g
    %s/archive.ubuntu/mirrors.aliyun/g
    

更新源

```
sudo apt-get update
```

安装Docker

因为都知道的网络原因,安装时可能会timeout等其他情况,所以推荐强烈建议使用国内源,执行以下命令

  • sudo apt-get remove docker docker-engine docker.io
  • sudo apt-get update
  • sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
  • curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  • sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
  • sudo apt-get update
  • sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

ps: 安装高版本的docker好像都会挂,所以我们安装到18.06.1的

一顿操作之后,docker已经安装完成, 使用 docker version 可以查看详细的版本信息,如图:

Windows10开启Ubuntu子系统并搭建Docker环境

随后再以管理员启动WSL控制台,执行:

sudo cgroupfs-mount
sudo service docker start

测试安装结果如下:

Windows10开启Ubuntu子系统并搭建Docker环境

测试 Docker 是否安装正确

最后,当然要测试一下,我们安装的docker 是否争取啦

但是国内从 Docker Hub 拉取镜像有时会遇到困难,所以我们需要配置镜像加速器。所以,我们需要在/etc/docker/daemon.json中写入如下内容(如果文件不存在请新建该文件)

sudo vi /etc/docker/daemon.json

内容如下:

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://hub-mirror.c.163.com"
  ],
  "iptables":false
}

执行 docker run hello-world,如果输出下列信息,那么恭喜你,docker终于搭建完成啦,可以愉快的玩耍了

Windows10开启Ubuntu子系统并搭建Docker环境

docker批量删除容器、镜像

  1. 删除所有容器
    docker rm `docker ps -a -q`
    
  2. 删除所有镜像
    docker rmi `docker images -q`
    

参考链接

Docker 从入门到实践

WSL中安装Docker

Windows 10 的Linux子系统WSL下安装docker

最后

还真是闲的蛋疼,瞎折腾了挺久的= =,不过最后好在弄好了,也希望各位搭建环境的时候少点坑,感谢各位观众老爷的观看

ps: 最后还是发现wsl兼容性一般啊,居然不能运行moongo...

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Ubuntu使用——15(thinkphp路由报错Non-static method think\Route::get() should not be called statically)
    Ubuntu使用——15(thinkphp路由报错Non-static
    在route.php中添加代码:use think\Route;Route::get('/',function (){return 'hello world';});在浏览器中输入http://localhost/tp5-git/public/index.php,报错:[8192] ErrorException in route.php line 13Non-static method think\Route::get() should n
    03-08
  • Ubuntu与Window双系统安装的注意事项
    Ubuntu与Window双系统安装的注意事项
      UBUNTU与WINDOW双系统安装的注意事项 由 匿名 (未验证) 提交于 2019-05-18 10:07:41登录 发表评论29 次浏览假定电脑里面已经存在了Window系统,安装另外一个Linux系统:第一:首先确定电脑里面的window系统引导方式电脑系统的引导方式分为:(1)传统
    03-08
  • Ubuntu 图形界面损坏修复方法!!!亲测有用!!!
    Ubuntu 图形界面损坏修复方法!!!亲测有用!
    1.现象今天做实验的时候打开Ubuntu虚拟机,输入密码之后发现变成这样:然后重新开机,到了输入密码界面不输入,而是输入快捷键CTRL+alt+F1,输入用户名+密码进入之后输入ls,发现我的文件还在,心想这不是系统炸了啊上网搜说是图形界面损坏于是重新来:(参考
    03-08
  • Ubuntu终端输入异常、无法退格(删除文本)、使用方向键命令
    Ubuntu终端输入异常、无法退格(删除文本)、使
    1 起因为了学习嵌入式开发安装去安装的ncurses库,使用命令:sudo apt-get install libncurses5-dev导致系统自带的ncurses-base被自动删除。2 出现的问题误删ncurses-base后导致终端输入窗口出现了一系列的问题:Ubuntu终端输入无法退格(删除文本)、使用↑
    03-08
  • Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    超级方便的无监视器VNC方便的树莓派远程桌面操作,无需显示器\(^^)/通过在页面末尾设置“无显示器设置”,可以在启动树莓派之前和之后连接和断开 HDMI 显示器电缆(这很重要)。来自主 PC 的远程桌面环境树莓派 4Ubuntu 20.04(64位)服务器+桌面设置VNC 设
    03-08
  • 免费供个人使用最多3个! !我尝试注册 ESM 将 Ubuntu LTS 版本的支持期延长 5 年
    免费供个人使用最多3个! !我尝试注册 ESM 将
    我个人使用 Ubuntu 作为我的 Linux 机器的操作系统。 Ubuntu 有正常版本和 LTS(长期支持)版本的操作系统。至此,版本号奇数为普通版,偶数为LTS版,LTS版长期支持5年,而普通版有支持期半年左右。。由于Linux机器用作GPU服务器,由于驱动程序和库的兼容性等
    03-08
  • [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir Desktop(未完成)
    [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir
    现状启用 WSLg 后,Elixir Desktop 会不会像在 Ubuntu 上一样工作?Elixir 桌面示例我试着跑步窗口显示并似乎在移动,但 Todo 应用程序未显示在窗口中。这是一个空白的显示。显示窗口和菜单。Extra 的内容也可以单独使用。如果您使用 Extra 的 Open Browser
    03-08
  • ubuntu中vi下删除键和上下左右键输入字符异常(
     刚安装的Ubuntu系统,使用vi编辑文本的时候,出现以下现象:点删除键输入了 D回车无效上下左右为字母光标乱跳 原因:自带的vi功能问题 解决:卸载原有vi,重新安装完整版本vim执行以下命令即可: sudo apt-get remove vim-common sudo apt-get install v
    02-10
  • ubuntu禁止ping操作(禁用ICMP协议访问) icmp
    ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,为了安全我们把ping给禁止掉。通过专门的黑客程序把在网络线路上传输
    02-10
  • Ubuntu16配置静态IP ubuntu16.04配置静态ip
    一、静态IP地址配置sudo vi/etc/network/interfaces然后按照如下格式修改:注意这里的网卡名字是ens33auto loiface lo inet loopbackauto ens33iface ens33 inet staticaddress 192.168.1.106netmask 255.255.255.0gateway 192.168.1.1二、配置DNS#临时修改su
    02-10
点击排行