Windows下的Linux子系统安装,WSL 2下配置docker
前提条件:
安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级。
在“启用或关闭Windows功能”中启用以下两个选项:Windows虚拟机平台、适用于Linux的Windows子系统。
启用这些更改后,重新启动计算机。
从如上图中安装最新的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.使用以下命令设置稳定存储库。要添加 夜间或测试存储库,请在下面的命令中的单词后添加单词nightly
或test
(或两者)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