Windows子系統上(WSL)使用Docker(Ubuntu)

最近嘗試了使用虛擬機安裝Ubuntu,而後又在ubuntu安裝使用docker部署服務。差看docker的官方安裝文檔時,發現如今能夠在windows10上使用wsl2安裝docker。動手開始嘗試安裝配置,結果發現wsl2只有在預覽版的windows10系統上才能使用。預覽版是吧,升級!!!而後,升級後個人電腦卡爆了,還連不上wifi,無奈只好又恢復以前的版本。可是Ubuunt已經安裝了,因此退而求其次使用wsl+docker for windowsdocker

安裝Linux子系統

打開window設置-》選擇更新和安裝-》選擇開發者選項-》修改成開發者模式批註 2020-05-14 211444.pngubuntu

windows-》啓動或關閉Windows功能-》勾選 適用於Linux的Windows子系統2.pngsegmentfault

打開windows商店-》搜索 ubuntu18.04安裝
image
打開安裝好的ubuntu,並設置用戶名,登陸密碼windows

ubuntu經常使用設置bash

Ubuntu安裝docker

官網指導服務器

安裝Docker for Windows

 docker的架構設計分爲三個組件:一個客戶端,一個REST API和一個服務器(守護進程):架構

  • Client :與REST API交互。主要目的是容許用戶鏈接守護進程。
  • REST API:充當客戶端和服務器之間的接口,實現通訊。
  • 守護進程:負責實際管理容器 - 啓動,中止等。守護進程監聽來自docker客戶端的API請求

不過使人遺憾的是目前WSL是不支持Docker的守護進程,但您可使用Docker CLI鏈接到經過Docker for Windows或您建立的任何其餘VM 運行的遠程Docker守護進程tcp

因此如今你在ubuntu 中執行docker 命令出現如下錯誤提示this

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我是經過安裝docker for windows 解決這個問題的
下載地址spa

配置docker for windows
在常規設置中,您須要公開沒有TLS的守護進程。此步驟是必需的,以便守護程序在TCP端點上進行偵聽。若是你不這樣作,那麼你將沒法從WSL鏈接。

因此爲了讓客戶端和docker通訊,必須打開如下選項
4.png

您可能還想共享您的驅動器(土話:盤符)。這一步不是必須的,但若是須要用到某個盤符的文件,建議勾選對應選項,轉到「共享驅動器(Shared Drives)」設置並啓用它。

 配置WSL

將WSL配置爲鏈接到Docker for Windows
export DOCKER\_HOST=tcp://127.0.0.1:2375

image
可是,該環境變量只會持續到會話結束。每次打開bash時都必須從新設置它。所以,爲了不這種狀況,您須要在主目錄中的一個名爲.bash_profile或者 .bashrc的文件中設置該變量,

打開這兩個文件中有數據的那個並在結尾處添加
image

 保存後從新啓動bash控制檯執行docker相關命令能夠照常執行了

相關文章
相關標籤/搜索