微软马上会在2020年5月底推出重大更新2004,会直接内置wsl2,子系统将更加完备,本文的内容已经过时了,建议等待更新后尝试使用wsl2进行docker的安装使用,以带来更佳的体验!!!
前言:
之前就听说微软和Ubuntu深入合作推出了基于win桌面运行Ubuntu系统的消息,一直没有尝试过,偶然有空就折腾了一番,普通的shell环境和命令支持绝大部分。于是就想折腾一下docker,毕竟window上的docker体验极差,以至于需要装个虚拟机然后在虚拟机里安装Linux然后使用docker,但是虚拟机资源消耗也大也不方便。
那么利用win上的Linux子系统Ubuntu16.04能否安装docker并正常使用的,通过一顿折腾,可以告诉你结果:可行
note:如果你已经通过微软商店安装好了并且可以正常使用Ubuntu了,就是执行docker命令时会提示:cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running
那你只需要通过以管理员身份运行Ubuntu解决如下图,然后在窗口执行 sudo service docker start
这样server部分也完美启动了,可以愉快的使用docker了
如果你刚刚Get到这个消息,想尝试一下,那你就按照下面的步骤一步步来吧。
- 在安装Ubuntu应用之前,你需要先做件事情避免安装和使用过程中遇到各种奇怪的错误
到控制面板找到下图的window功能,勾选对应的两项内容点击确定,最后会提示你重启电脑,重启之后进行后面的操作
- 下面就是安装Ubuntu应用
打开微软应用商店,直接搜索Ubuntu,选择不带任何版本号的那个安装就可以,这个版本时16.04版本,其他版本没有测试过,不确保没问题。
安装完之后以管理员身份运行刚刚安装的Ubuntu应用,然后就是进行Ubuntu系统初始化操作,提示你输入一个用户名和密码等,按照提示输入好即可,很简单
-
下面就是安装docker,直接贴官方的Ubuntu安装docker的教程,如果访问不了记得架梯子。
https://docs.docker.com/install/linux/docker-ce/ubuntu/
什么?没梯子,那我放上安装的命令把,挨个执行就ojbk了
$ 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=17.03.2~ce-0~ubuntu-xenial
note:解释下为什么要装这个特定版本,而不是装最新版。最新版已经证实了无法拉去镜像,因该是和内核有关系,所以默认的话安装这个版是没有任何问题的
-
安装完之后执行
sudo service docker start
,然后执行sudo docker version
,如果显示如下图相似,那么恭喜你,docker安装成功,可以愉快的玩耍了
小贴士:因为在 WSL 中 window 的盘符都是挂载在 /mnt 下的,所以设置 alias 有助于你快速的访问 window 目录
1.打开.bashrc文件 vim ~/.bashrc
2.插入以下内容,以后只需要cdd就可以直接进入d盘了
alias cdc='cd /mnt/c/'
alias cdd='cd /mnt/d/'
alias cde='cd /mnt/e/'
后语:
Mac相对于win天生拥有良好的命令行支持环境。win和Ubuntu的结合,一定程度上弥补了win命令行弱的缺点,相信未来会有更多的开发者转投win阵营吧。