首頁 > 運維 > Docker > wsl 可以安裝docker麼

wsl 可以安裝docker麼

藏色散人
發布: 2021-12-08 16:36:08
原創
8308 人瀏覽過

wsl可以安裝docker,其安裝方法:1、安裝並配置wsl;2、在官網下載安裝docker for windows;3、透過pip來安裝docker-compose即可。

wsl 可以安裝docker麼

本文操作環境:Ubuntu18.06系統、Docker-CE版、Dell G3電腦。

wsl 可以安裝docker麼?

wsl 下安裝docker

docker for windows本身其實是可以直接用的,但是仍然有很多不足,比如說:權限問題、沒有docker.sock文件、文件編碼問題等。而win10自備的wsl可以非常完美地解決這些問題。

安裝wsl

首先在 程式與功能->啟用和關閉windows功能中開啟適用於Linux的Windows子系統

然後開啟微軟應用程式商店,直接搜尋Ubuntu,選擇18.06版本的ubuntu安裝

wsl配置

先設定阿里雲鏡像,vim /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
登入後複製

然後更新來源

apt update
登入後複製

預設情況下,windows的目錄會自動掛載(mount)到wsl中的/mnt目錄下,但是這樣會導致後面的docker的相對路徑問題。所以修改設定檔/etc/wsl.conf

[automount]
root = /
options = "metadata,umask=22,fmask=11"
登入後複製

這樣,windows裡面的c碟就自動掛載到了wsl中的/c/目錄下,d磁碟就自動掛載到了wsl中的/d /目錄下 

安裝docker for windows

直接到官網上下載安裝即可。

安裝的時候,因為我們要使用wsl中的docker,也就是linux container,所以記得不要選擇windows container。

安裝好了之後,先配置加速器,目前我用阿里雲和daocloud的加速器,都挺快的。到對應的網站上按照指示操​​作即可。

開發的時候,需要把實體機上的程式碼和容器中的程式碼檔案做共用,所以需要在Shared Drives中設定共享的盤符。你的程式碼在哪個碟裡面,那就選擇共用哪個碟 

wsl中安裝docker

如果直接用apt來安裝docker,不會是最新版的,所以參考官方文件來安裝最新版的docker(https://docs.docker.com/install/linux/docker-ce/ubuntu/)

即:

sudo apt-get remove docker docker-engine docker.iosudo apt-get updatesudo apt-get install \
    apt-transport-https \
    ca-certificates \    curl \
    software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo apt-key fingerprint 0EBFCD88sudo add-apt-repository \   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \   $(lsb_release -cs) \
   stable"sudo apt-get updatesudo apt-get install docker-ce
登入後複製

試試看執行docker指令:

docker version
登入後複製

結果如下:

Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Wed Jun 20 21:43:51 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:22:38 2018
  OS/Arch:      linux/amd64
  Experimental: false
登入後複製

OK了,但是如果再run一下呢?

docker run busybox
登入後複製

此時會提示docker daemon沒有運作。那麼執行:

sudo service docker start
登入後複製

雖然看到is starting,但docker還是不能run。

此時,就需要開啟docker for windows中的General->Expose daemon on tcp://localhost:2375 without TLS

#然後在wsl中執行:

export DOCKER_HOST=tcp://localhost:2375
登入後複製

然後就可以開始run了。

推薦學習:《Docker影片教學

另外預設情況下是不會安裝docker-compose的,如果透過apt來安裝docker-compose,也不會是最新版,但透過pip來安裝的就是最新版,所以:

sudo apt install python-pipsudo pip install docker-compose
登入後複製

測試下:

docker-compose version
登入後複製

以上是wsl 可以安裝docker麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板