前言

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

搭建Ubuntu子系统

wsl是什么

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

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

安装wsl

  1. 开启开发者模式

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

  2. 开启windows子系统功能

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

  3. 更新Windows,重启

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

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

进入wsl

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

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 可以查看详细的版本信息,如图:

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

sudo cgroupfs-mount
sudo service docker start

测试安装结果如下:

测试 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终于搭建完成啦,可以愉快的玩耍了

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...

Windows10开启Ubuntu子系统并搭建Docker环境的更多相关文章

  1. Windows10安装Ubuntu子系统设置Python3测试环境

    参考链接:https://blog.csdn.net/shanelee73/article/details/80238876

  2. Windows10的Ubuntu子系统开启桌面环境

    原文:Windows10的Ubuntu子系统开启桌面环境 Ubuntu 优势之一就是桌面环境比较好,所以咱们的子系统当然也不能少了这一环节,本小结开始安装Ubuntu 桌面系统. 安装环境 使用下面指 ...

  3. Windows(WSL2) Linux子系统搭建Docker环境

    摘要:本文主要介绍了如何再Windows(WSL2)中启用Linux系统中,并搭建Docker环境. WSL是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux ...

  4. Windows10内置ubuntu子系统安装后中文环境设置

    原文:Windows10内置ubuntu子系统安装后中文环境设置 第一开启相关设置,使用小娜(Win键+c)直接查找关键字打开更快.   ①设置→查找"针对开发人员"→开发人员模式 ...

  5. Windows10访问Ubuntu子系统(WSL)的桌面环境

    原文地址:https://blog.csdn.net/xmh19936688/article/details/90212960 Windows10访问Ubuntu子系统(WSL)的桌面环境文章目录Wi ...

  6. Windows10内嵌Ubuntu子系统配置python开发环境

    Windows10内嵌Ubuntu子系统配置python开发环境 安装pycharm. 到intellij idea网站下载Linux环境下载免费的pycharm,通过ubuntu子系统内部的/mnt ...

  7. Centos搭建 Docker 环境

    搭建 Docker 环境 安装与配置 Docker 安装 Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum ...

  8. Ubuntu搭建docker环境

    一丶自己搭建Ubuntu的虚拟机(网上很多教程) PS:下带图形化界面的Ubuntu镜像,这里只说一下要装那些工具和做那些配置   安装vim         sudo apt-get install ...

  9. Ubuntu开启SSH端口并且搭建Vulhub环境

    1.下载好ubuntu.开启SSH: * sudo apt update * sudo apt install openssh-server * sudo systemctl status ssh 用 ...

随机推荐

  1. 关于vue打包后,访问不到页面和访问不到图片。

    vue项目完成打包上线的时候很多人都会碰到静态资源找不到,常见的有两个第一种:js,css路径不对解决办法:打开config/index.js,将其中的assetsPublicPath值改为’./’ ...

  2. webpack-dev-server简记

    webpack -v 3.4.1 npm -v 3.10.10 /////////////////////////////////////// webpack的webpack-dev-server可以 ...

  3. React:form

    表单控件: input 文档在介绍控件之前,先提到了react组件自身的一个特点:状态由state掌控,改变组件状态只能用setState方法. 而在html的表单里,input.radio.chec ...

  4. 3.8 Go Array数组

    3.8 Go Array数组 数组是固定长度的特定类型元素组成的序列. 一个数组由零或多个相同类型元素组成. 数组的长度是固定,因此Go更常用Slice(切片,动态增长或收缩序列). 数组是值类型,用 ...

  5. day08文件的操作(0221)

    #1.文件操作之追加数据01:f = open("yesterday01",'a+U',encoding="utf-8")#a= append,追加之意,w则为 ...

  6. POJ2377

    题目链接:http://poj.org/problem?id=2377 解题思路: Prim算法. Warning ! 注意考虑重边 ! 其实就是求最大生成树,没什么好说的,就上面那个坑. AC代码: ...

  7. hdu2093 考试排名(还需完善)

    下面代码是借鉴的.好多的知识点等着完善 #include <iostream> #include <string> #include <algorithm> usi ...

  8. SQL——SQL别名、UNION和SELECT INTO

    Alias(别名) - 为列名称和表名称指定别名    语法:表SELECT columnName(s) FROM tableName AS aliasName          列SELECT co ...

  9. JS中的基本包装类型

    想一下:为什么String类型的值可以调用某些方法和访问某些属性呢? 在基本数据类型中有3个特殊的存在:String Number Boolean 这三个基本类型都有自己对应的包装对象.包装对象,其实 ...

  10. Linux centos 7 目录结构

    一.目录结构与用途: /boot:系统引导文件.内核 /bin:用户的基本命令 /dev:设备文件 /etc:配置文件 /home:用户目录 /root:root用户目录 /sbin:管理类的基本命令 ...