Windows10家庭版搭建WSL加Docker的開發環境

前言

WSL也就是win10更新的一個對開發者比較友好的點了,它並非虛擬機,而是一個模擬環境,並不能支持Linux中的各類操做,可是和windows交互很是方便,消耗很低,因此對我這種菜鳥來講作開發和測試比較合適。
docker的好處這邊也就不說了,能夠去了解一下(主要是由於我也是第一次用- -),這篇文章主要是將如何安裝,對原理和概念的東西不會解釋。
其實我要搭建這樣的開發環境的緣由比較簡單,主要是下面兩個緣由:
1.公司的服務器上的服務就是Linux加docker的模式,我要模擬這樣的的結構方便測試和開發,正好學習一下
2.個人開發環境是windows的,我但願藉助docker和WSL,把個人開發環境搞得乾淨一點(爲啥不直接用Linux系統呢,只是由於我以爲一個電腦雙系統受不了..)linux

安裝WSL

win10商店裏面就能夠直接安裝,這裏的坑只有一個,就是要開啓Linux子系統服務
image.pnggit

安裝Docker

這裏的坑就比較多了,但願我踩的坑能對你有幫助
環境:win10家庭版docker

  1. 在WSL裏面安裝Docker

參考博客:https://yeasy.gitbooks.io/docker_practice/install/
參照上面文章裏面Ubuntu的安裝方法
安裝完成以後,啓動dockerubuntu

sudo service docker start

這裏就會報錯
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
說的意思就是鏈接不到守護線程,雖然我也不知道這個守護線程是幹嗎的,而後找到了一個國外小哥的博客:
https://medium.com/@sebagomez/installing-the-docker-client-on-ubuntus-windows-subsystem-for-linux-612b392a44c4
image.png
最關鍵點就是你在WSL裏面裝docker,必須先安裝Docker For Windows在你的系統上。
OK,那咱們就去安裝這個唄。
去官網上面下載。
https://docs.docker.com/docker-for-windows/install/
而後你就會發現安裝不上,由於docker不支持win10家庭版...
有些博客裏面會說用docker toolbox的東西代替,這裏我不建議用,反正我沒代替成功。
解決辦法第一步:修改註冊表,讓安裝程序誤覺得咱們是win10 pro
定位到HKEY_LOCAL_MACHINEsoftwareMicrosoftWindows NTCurrentVersion
修改EditionId的值爲Professional
而後還有要開啓Hyper-v服務,這個東西在win10家庭版裏面也是沒有的,因此咱們須要安裝。windows

pushd 「%~dp0」

dir /b %SystemRoot%servicingPackagesHyper-V.mum >hyper-v.txtbash

for /f %%i in (‘findstr /i . hyper-v.txt 2^>nul’) do dism /online /norestart /add-package:"%SystemRoot%servicingPackages%%i"服務器

del hyper-v.txt學習

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL測試

將上面的複製到.cmd文件中,而後用管理員運行,安裝完畢以後重啓電腦,在 安裝和啓用windows功能 中打開hyper-v服務,啓動docker for windows。
這時候咱們再回到上面沒有啓用守護線程的問題

而後回到ubuntun,輸入spa

echo "export DOCKER_HOST=localhost:2375" >> ~/.bash_profile
docker version

也就是告訴docker,他的守護線程接口,docker version檢查是否啓動成功
image.png

結語

到這邊咱們就能夠用使用docker了,而後還有一個很坑的點,就是修改EditionId的值爲Professional這個東西,每次重啓電腦,windows會自動把它改回去,而後咱們就又啓動不了docker for windows了,若是我找到解決辦法再來補一下。

相關文章
相關標籤/搜索