之前介绍过windows中安装docker,但是它需要用到hyper-v。hyper-v与vm不兼容非常之不方便。不过发现windows有wsl(linux子系统)遂试验,结果非常nice功能一应俱全docker完美兼容,与大家分享一下安装过程。

开启win10的linux子系统功能

  • 推荐win10升级到最新版本

打开powershell执行命令
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
或者在控制面板中的程序中启用适用于linux的winodws子系统(直译?),然后重启电脑
这时可以去microsoft store中选择linux发行版,我用的是ubuntu18.04建议大家与我一致。安装完后打开还需要下载一些文件,大家只需要坐与放宽即可

cmd更换配色

在下载文件时也别闲着,windowns自带的cmd配色难看至极,一会使用vim的时候保你字都看不清。

  • 去github下载colortool 地址 https://github.com/Microsoft/console
  • 使用管理员打开cmd进入解压后的文件夹
  • 执行命令 colortool.exe d OneHalfLight(还有其他配色方案,在schemes下)
  • 窗口标题栏右键默认值保存,属性保存

切换root账户

一顿操作下来ubuntu也该o98k了,开始设置用户密码,然后我们需要使用root账户

  • 管理员模式打开ubuntu18.04
  • sudo passwd 输入密码与root密码
  • su root 输入密码

但是这时每次打开ubuntu的时候还是普通用户,我们可以使用命令设置默认用户
ubuntu1804 config --default-user root

安装docker

linux子系统已经收工,下面安装docker。我们可以直接根据docker文档中提供的ubuntu安装docker的方法进行操作 ps:使用管理员打开ubuntu1804

因为都知道的网络原因安装时可能会timeout等其他情况,我们可以使用国内镜像 https://mirrors.tuna.tsinghua.edu.cn/ 清华大学开源软件镜像站替换下面的链接
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/

  • 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://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
  • sudo apt-get install docker-ce

一顿操作已经安装结束,使用 sudo service docker start 开启docker守护进程
使用 docker version 查看版本

The end

这时开发时就很方便了,也不用担心hyper-v与vm不兼容的问题。例如在vs code中我们可以很容器的在终端中进行子系统进行各种操作,例如在vs code使用终端进入linux子系统执行各种操作(linux与windows文件共享)

wsl中使用原生docker的更多相关文章

  1. 说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)

    前一段时间学习netcore的时候解除到了docker,感觉真是不错的技术.百度了不少教程.因为我用windows就下载安装了一下试试.但是没有安装成功,才发现 需要安装virtualbox虚拟机,与 ...

  2. Windows下的Linux子系统安装,WSL 2下配置docker

    Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在“启用或关闭W ...

  3. WSL中使用systemctl报错问题

    Windows10里面自带的wsl中安装docker后不支持systemctl命令.需要更换命令,用Sysvinit的命令代替systemd,命令如下: Systemd command Sysvini ...

  4. [云原生]Docker - 简介

    目录 什么是Docker? 为什么使用Docker? 对比传统虚拟机总结 什么是Docker? Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业务项目.它基于Go ...

  5. EF中执行原生sql与使用Local获取本地数据

    使用DbSet的Local属性可以访问当前context中被追踪且没有被标记为删除的实体(内存中的数据) using (var context = new BloggingContext()) { / ...

  6. django中使用原生sql

    在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql ( 这种方式完全不依赖 ...

  7. Java中的原生数据类型

    Java中的原生数据类型(Primitive DataType)共有8种: 1)整型:     使用int表示(32位).2)字节型: 使用byte表示(从-128到127之间的256个整数).3)短 ...

  8. centos中简易安装docker

    centos中简易安装docker准备环境要求:请确保自己的centos的内核版本大于3.10,使用如下linux命令: uname -r1显示如下类似信息: 3.10.0-862.3.3.el7.x ...

  9. docker开启2376端口CA认证及IDEA中一键部署docker项目

    嘿,大家好,今天更新的内容是docker开启2376端口CA认证及IDEA中一键部署docker项目... 先看效果 我们可以通过idea一键部署docker项目,还以通过idea的控制台实时查看容器 ...

随机推荐

  1. java自动化-实际使用junit的演示

    本文简单介绍一下我写的http接口后端框架 在经过之前多篇博客介绍之后,读者应掌握如下技能 1,自动运行一个或者多个junit框架编写的java代码 2,对数据驱动以及关键字驱动有一定的了解和认识,甚 ...

  2. SQL功能分类

    DDL  数据定义语言:创建表 ,库,列 DML 数据操作语言:用来操作数据库中的记录 DQL 数据查询语言 :用来查询数据 DCL 数据控制语言:定义访问权限和安全级别 —————————————— ...

  3. jieba库

    Note of Jieba ( 词云图实例 ) Note of Jieba jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba ...

  4. 把ssl模块加入到已经编译好的apache中实现HTTPS

    为了使Apache支持https访问,系统需要安有apache.openssl.mod_ssl.so 1.安装openssl: 基本上系统都已经安装了,在/usr/bin/openssl下,直接使用o ...

  5. NOIP2012提高组day2 T2借教室

    这题骗分可以骗到满分(可能是数据不太强给强行过去了) 这道题如果是按照题意去模拟用循环去修改区间的话只有45分,正解是二分+差分数组,骗分也是差分数组但是没有使用二分,时间复杂度在最坏的情况下是O(n ...

  6. JS for循环 if判断、white循环。小练习二

    假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易.如果用户密码正确,再提示用户输入取款金额(amou ...

  7. :nth-child() 与 :nth-of-type(n)的区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. docker container(容器)

    docker 容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用 容器是从镜像创建的应用运行实例.它可以启动,开始,停止,删除,而这些容器都是彼此相互隔离,互不可见的. ...

  9. 菜鸡谈OO 第二单元总结

    “欢迎来到(玄学)多线程的新世界” Homework1 单部傻瓜电梯调度 Part1 多线程设计策略 第一次学到了线程这个概念,与之前的编程体验大有不同.最大的区别在于从原本的线性发生程序变成了多个行 ...

  10. ArcGIS Runtime For Android 100.3天地图不加载问题

    ArcGIS Runtime 100.3 不加载天地图问题 参考这篇帖子:https://community.esri.com/thread/220496-1003-webtiledlayer-can ...