前言
很早就聽說微軟有個基於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.io
sudo apt-get update
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
curl -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 update
sudo 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
...