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

前提条件:
  1. 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级。

  2. 在“启用或关闭Windows功能”中启用以下两个选项:Windows虚拟机平台、适用于Linux的Windows子系统。

  3. 启用这些更改后,重新启动计算机。

  4. 从如上图中安装最新的Ubuntu发行版。

1. Powershell下配置

将WSL2作为Ubuntu的默认架构

wsl -- set - version Ubuntu 2

如果想要让WSL 2成为默认架构,可以执行以下操作:

wsl -- set - default - version 2

2. 编译WSL 2 内核

2.1 安装编译环境的依赖包
sudo apt-get update
sudo apt-get install build-essential flex bison libssl-dev libelf-dev
2.2 从git下载官方的内核
https://github.com/microsoft/WSL2-Linux-Kernel
2.3 编译内核
sudo make KCONFIG_CONFIG=Microsoft/config-wsl  

3. WSL2 上配置docker

官方安装docker步骤链接:

[https://docs.docker.com/install/linux/docker-ce/ubuntu/]

部署docker步骤:

3.1 卸载旧版docker
sudo apt-get remove docker docker-engine docker.io containerd runc
3.2 设置存储库

1.更新apt包

sudo apt-get update

2.安装包以允许apt通过HTTPS使用存储库

sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

3.添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后8个字符,验证您现在拥有带指纹的密钥 。
sudo apt-key fingerprint 0EBFCD88
   
pub   rsa4096 2017-02-22 [SCEA]
    9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

4.使用以下命令设置稳定存储库。要添加 夜间测试存储库,请在下面的命令中的单词后添加单词nightlytest(或两者)stable了解夜间测试频道

注意:下面的lsb_release -cs子命令返回Ubuntu发行版的名称,例如xenial。有时,在像Linux Mint这样的发行版中,您可能需要更改$(lsb_release -cs) 为父Ubuntu发行版。例如,如果您正在使用 Linux Mint Tessa,则可以使用bionic。Docker不对未经测试和不受支持的Ubuntu发行版提供任何保证。

  • x86_64 / amd64

$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
3.安装docker engine-community
sudo apt-get update
docker//sudo apt-get install docker-ce docker-ce-cli containerd.io

列出仓库中的可用版本

apt-cache madison docker-ce
sudo apt-get install docker-ce=18.03.1~ce~3-0~ubuntu

测试docker

sudo docker run hello-world

sudo /etc/init.d/docker start
service docker start

sudo service docker status

docker info  
docker images  

docker run hello-world

Windows下的Linux子系统安装,WSL 2下配置docker的更多相关文章

  1. 关于WSL(Windows上的Linux子系统)的简单介绍及安装

    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++),在wsl环境下我们可以运行一些Linux程 ...

  2. WSL(Windows上的Linux子系统)

    WSL(Windows上的Linux子系统) WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++ ...

  3. windows 下使用Linux子系统

     在 Windows 上进行 web 开发,比较普遍的方案是使用 phpstudy 或者别的一些集成环境软件进行环境搭建,写好代码后将代码上传至版本管理工具 git/svn,再将代码同步到 Linux ...

  4. Windows搭建Linux子系统(WSL)详细教程

    介绍 WSL(windows下的Linux子系统) Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式 ...

  5. 关于WSL(Windows上的Linux子系统)的介绍

    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++ 首先要说一句,其实Windows 10在一周 ...

  6. Windows安装Linux子系统--安装GUI界面

    原文:Windows安装Linux子系统--安装GUI界面   前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1.准备工作 1.1.打开 ...

  7. Windows-Windows下使用Linux系统(WSL)

    Install Windows Subsystem for Linux (WSL) on on Windows 10 | Microsoft Docs WSL(Windows Subsystem fo ...

  8. Windows10 下运行Linux子系统

    关于Windows10 下运行Linux子系统: Windows10内置Linux子系统初体验:http://www.jianshu.com/p/bc38ed12da1d Win10运行Ubuntu版 ...

  9. Windows Store无法联网时安装WSL

    Windows Store无法联网时安装WSL 1 打开powershell 输入命令: Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 - ...

随机推荐

  1. C# 创建临时文件(转帖)

    1. 在临时文件只能够创建一个临时文件并返回该文件的完整路径 // 在临时文件只能够创建一个临时文件并返回该文件的完整路径: // C:\Documents and Settings\YourName ...

  2. 安装JDK ,提示 错误1316 指定的账户已存在

    基于情况: 安装了一个JDK 后,在文件目录中删除了相关文件,之后再次安装,提示  错误1316 指定的账户已存在 造成原因:安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除 ...

  3. python3 -m pip install django, -m参数

    python -m xxx.py 作用是:把xxx.py文件当做模块启动但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...

  4. 004-unity3d MonoBehaviour脚本方法简介

    一.MonoBehaviour 1.公共方法 CancelInvoke Cancels all Invoke calls on this MonoBehaviour. Invoke Invokes t ...

  5. Delphi XE2 之 FireMonkey 入门(6) - TLine、TEllipse、TCircle、TPie、TArc、TRectangle、TRoundRect、TCalloutRectangle

    它们都是继承自 TShape 类, 共同拥有如下属性: Fill            : TBrush;      //填充 Stroke          : TBrush;      //边线( ...

  6. Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库

    前期准备: jdbc驱动:mysql-connector-java-5.1.7-bin.jar Jmeter 要链接MySQL数据库,首选需要下载mysql jdbc驱动包(注:驱动包的版本一定要与你 ...

  7. 【ABAP系列】SAP ABAP中使用for all entries in小结

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中使用for a ...

  8. django配置mysql报错 no model named "MySQLdb"

    官网上面连接mysql数据库的参数很少,入了不少坑,一直排错和检查参数都没有问题,只能manage.py mirgrate 更新数据库的信息创建数据库的表. 很是郁闷.报了一大堆的错误,大概意思就是说 ...

  9. 为什么说 Babel 将推动 JavaScript 的发展【转】

    Babel是一个转换编译器,它能将 ES6 转换成可以在浏览器中运行的代码.Babel 由来自澳大利亚的开发者Sebastian McKenzie创建.他的目标是使 Babel 可以处理 ES6 的所 ...

  10. Redis数据类型:Sorted Sets操作指令

    Redis数据类型:Sorted Sets操作指令 Sorted Sets常用操作指令 Sorted Sets,本质是一个有序的Sets,其实在原来的Sets集合中对每一个元素新增了一个属性Score ...