Windows10开启Ubuntu子系统并搭建Docker环境
前言
很早就听说微软有个基于Ubuntu的子系统,一直也没机会尝试一下,之前也只是用VMware安装,但是还要单独安装软件,安装镜像,一点都不fit,所以就瞎折腾下(也是因为最近有空)。
搭建Ubuntu子系统
wsl是什么
适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。
简单的说,就是在window上安装了个Linux
安装wsl
开启开发者模式
依次打开 设置 -> 更新和安全 -> 开发者选项 -> 开发人员模式



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



更新Windows,重启
在Microsoft Store中搜索Ubuntu,并安装,如图:

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

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

Docker环境搭建
由于Ubuntu默认的源下载速度异常缓慢,所以我们需要替换成国内阿里云的镜像源。
确认默认源
vim /etc/apt/sources.list
修改默认源
备份默认源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.20200225
然后 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.iosudo apt-get updatesudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-commoncurl -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 updatesudo 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批量删除容器、镜像
- 删除所有容器
docker rm `docker ps -a -q`
- 删除所有镜像
docker rmi `docker images -q`
参考链接
Windows 10 的Linux子系统WSL下安装docker
最后
还真是闲的蛋疼,瞎折腾了挺久的= =,不过最后好在弄好了,也希望各位搭建环境的时候少点坑,感谢各位观众老爷的观看
ps: 最后还是发现
wsl兼容性一般啊,居然不能运行moongo...
Windows10开启Ubuntu子系统并搭建Docker环境的更多相关文章
- Windows10安装Ubuntu子系统设置Python3测试环境
参考链接:https://blog.csdn.net/shanelee73/article/details/80238876
- Windows10的Ubuntu子系统开启桌面环境
原文:Windows10的Ubuntu子系统开启桌面环境 Ubuntu 优势之一就是桌面环境比较好,所以咱们的子系统当然也不能少了这一环节,本小结开始安装Ubuntu 桌面系统. 安装环境 使用下面指 ...
- Windows(WSL2) Linux子系统搭建Docker环境
摘要:本文主要介绍了如何再Windows(WSL2)中启用Linux系统中,并搭建Docker环境. WSL是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux ...
- Windows10内置ubuntu子系统安装后中文环境设置
原文:Windows10内置ubuntu子系统安装后中文环境设置 第一开启相关设置,使用小娜(Win键+c)直接查找关键字打开更快. ①设置→查找"针对开发人员"→开发人员模式 ...
- Windows10访问Ubuntu子系统(WSL)的桌面环境
原文地址:https://blog.csdn.net/xmh19936688/article/details/90212960 Windows10访问Ubuntu子系统(WSL)的桌面环境文章目录Wi ...
- Windows10内嵌Ubuntu子系统配置python开发环境
Windows10内嵌Ubuntu子系统配置python开发环境 安装pycharm. 到intellij idea网站下载Linux环境下载免费的pycharm,通过ubuntu子系统内部的/mnt ...
- Centos搭建 Docker 环境
搭建 Docker 环境 安装与配置 Docker 安装 Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum ...
- Ubuntu搭建docker环境
一丶自己搭建Ubuntu的虚拟机(网上很多教程) PS:下带图形化界面的Ubuntu镜像,这里只说一下要装那些工具和做那些配置 安装vim sudo apt-get install ...
- Ubuntu开启SSH端口并且搭建Vulhub环境
1.下载好ubuntu.开启SSH: * sudo apt update * sudo apt install openssh-server * sudo systemctl status ssh 用 ...
随机推荐
- JS作用域和变量提升看这一篇就够了
作用域是JS中一个很基础但是很重要的概念,面试中也经常出现,本文会详细深入的讲解这个概念及其他相关的概念,包括声明提升,块级作用域,作用域链及作用域链延长等问题. 什么是作用域 第一个问题就是我们要弄 ...
- php反序列化(昨天的补充)
魔术方法 在对PHP反序列化进行利用时,经常需要通过反序列化中的魔术方法,检查方法里是否有敏感操作来进行利用. 常见方法: 创建对象时触发:__construct() 对象被销毁时触发:__destr ...
- Cannot parse "1986-05-04": Illegal instant due to time zone offset transition (Asia/Shanghai)
调查系统错误时,发现了一个很奇怪的现象,出生日期1986-05-04号的用户始终无法注册.发现后台使用使用jodatime的代码demo如下: public static DateTime parse ...
- Android CodeReview 些许总结
CodeReview些许总结 1:使用Handler的时候,使用handler.post(Runnable);,hanler与类尽量保持弱引用关系,或者使用静态的handler对象 public Ha ...
- Docker学习笔记(二):端口映射与容器互联
端口映射 使用docker run时,可以指定-P(大写)与-p(小写)参数映射端口. docker run -P -P(大写)会随机映射一个端口到容器的内部端口 -> [feifei@ffma ...
- 关于vue打包后,访问不到页面和访问不到图片。
vue项目完成打包上线的时候很多人都会碰到静态资源找不到,常见的有两个第一种:js,css路径不对解决办法:打开config/index.js,将其中的assetsPublicPath值改为’./’ ...
- rabbitMQ基于spring-rabbitnq
一.什么是MQ MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递 ...
- RocketMQ 入门
一.rocketMQ是什么 rocketmq是一款低延迟.高可靠.可伸缩.已使用的消息中间件.具有以下特性: 1.支持发布/订阅.点对点(p2p)消息模型 2.同一个队列中支持先进先出(FIFO)和严 ...
- IIS网站发布不了.ttf .woff 文件 并且网站报脚本错误找不到
-----------------------------解决方法------------------------------------------------ 1. 既然脚本发布不了,就将脚本从本 ...
- 转义URL 含有中文和特殊符号
方法1: //这个方法被废弃了 NSString *urlString = @"https://www.cnblogs.com/huaida/#/程序员"; NSString* e ...