<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          wsl2安裝Linux原生Docker

          共 3394字,需瀏覽 7分鐘

           ·

          2021-10-16 15:32

          其實wsl安裝Docker相關內容我已經在wsl整合k8s的相關內容中分享過了,但是為了方便各位小伙伴和自己查閱,我今天又做一個一次整理匯總,形成一個專門的文檔,算是對之前內容回顧和總結吧。

          wsl的那些事

          WSL有所了解的小伙伴應該都知道,關于wsl其實是有兩個版本的,而且官方文檔也給出了詳細的對比:

          詳細對比可以看下官方說明:

          https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions

          簡單總結下就是:

          • wsl2有完整的Linux內核,可以支持原生的Linux應用,甚至是運行Liunx GUI應用
          • wsl2相比wsl文件IO性能提升,在文件密集型操作(如 git克隆、npm安裝、apt更新、apt升級等)中的速度都明顯更快
          • wsl2有一些缺點:
            • 不能訪問從 Windows裝載的文件
            • 不支持 同一個項目WindowsLinux 進行交叉編譯
            • 不支持串行端口和USB 設備訪問
            • WSL 2的內存使用量會隨使用而縮放

          不過windowswsl2之間是可以實現(xiàn)便捷的文件傳輸?shù)模皇撬麄冎g的傳輸類似于虛擬機的文件傳輸,是基于網絡進行的。如果我們需要在windows訪問wsl中的文件,直接通過文件管理器訪問\\wsl$,然后選擇對應的系統(tǒng)即可:

          準備工作

          daemonize安裝配置

          安裝daemonize是為了讓我們的wsl支持systemctl命令,然后激活Systemd,這些命令在后面啟動docker服務、創(chuàng)建集群的時候都要用到。

          安裝命令也很簡單(我一直覺得linux安裝軟件比windows方便,一行命令就完成安裝,它不香嗎):

          sudo?apt?install?daemonize?#第二種方式執(zhí)行
          sudo?apt?install?-yqq?fontconfig?daemonize?#?第一種方式需要執(zhí)行

          因為我已經安裝過了,顯示得可能和你不一樣:

          這里有兩種方式。需要注意的是第一種方式需要多安裝一個軟件包:fontconfig

          第一種方式

          第一種方式需要創(chuàng)建一個腳本,我們直接通過vim創(chuàng)建:

          sudo?vim?/etc/profile.d/00-wsl2-systemd.sh

          然后將如下內容寫入,保存

          #?Create?the?starting?script?for?SystemDvi?/etc/profile.d/00-wsl2-systemd.sh
          SYSTEMD_PID=$(ps?-ef?|?grep?'/lib/systemd/systemd?--system-unit=basic.target$'?|?grep?-v?unshare?|?awk?'{print?$2}')
          if?[?-z?"$SYSTEMD_PID"?];?then???
          ??sudo?/usr/bin/daemonize?/usr/bin/unshare?--fork?--pid?--mount-proc?/lib/systemd/systemd?--system-unit=basic.target???
          ??SYSTEMD_PID=$(ps?-ef?|?grep?'/lib/systemd/systemd?--system-unit=basic.target$'?|?grep?-v?unshare?|?awk?'{print?$2}')
          fi
          if?[?-n?"$SYSTEMD_PID"?]?&&?[?"$SYSTEMD_PID"?!=?"1"?];?then?
          ???exec?sudo?/usr/bin/nsenter?-t?$SYSTEMD_PID?-a?su?-?$LOGNAME
          fi

          然后關閉當前Terminal,重新打開。

          第二種方式

          下面是第二種方式,這行命令是為了激活我們的systemd命令

          sudo?daemonize?/usr/bin/unshare?--fork?--pid?--mount-proc?/lib/systemd/systemd?--system-unit=basic.target
          注意

          我推薦第一種,第二種雖然第一次是ok的,但是在實際使用中發(fā)現(xiàn),wsl重啟后(或者電腦重啟),第二種方式執(zhí)行docker命令的時候,會報下面的錯,而且我還沒找到解決方案:

          安裝原生Docker

          這里安裝的是Linux原生的docker,并非是基于windows環(huán)境的,安裝完成后,你就可以在wsl使用原生的docker

          安裝依賴

          安裝軟件包以允許 apt通過 HTTPS使用存儲庫

          #?安裝?Docker?CE
          ##?設置倉庫
          ###?安裝軟件包以允許?apt?通過?HTTPS?使用存儲庫
          sudo?apt-get?update?&&?sudo?apt-get?install?apt-transport-https?ca-certificates?curl?software-properties-common

          這里是安裝多個軟件的方式,上面總共安裝了四個軟件包,軟件包直接用空格分割。

          添加docker官方發(fā)密鑰
          ###?新增?Docker?的?官方?GPG?秘鑰
          curl?-fsSL?https://download.docker.com/linux/ubuntu/gpg?|?sudo?apt-key?add?-
          添加docker鏡像地址
          ###?添加?Docker?apt?倉庫
          add-apt-repository?\
          ??"deb?[arch=amd64]?https://download.docker.com/linux/ubuntu?\
          ??$(lsb_release?-cs)?\
          ??stable"

          這里會把它添加進/etc/apt/sources.list文件中。

          安裝docker

          和上面一樣,安裝多個軟件。

          ##?安裝?Docker?CE
          sudo?apt-get?update?&&?sudo?apt-get?install?containerd.io???docker-ce???docker-ce-cli?-y
          配置docker

          這里主要是設置docker的鏡像倉庫的鏡像地址(有點繞,主要是國內下載鏡像慢,所以需要改成網易等國內的鏡像地址)

          sudo?vim?/etc/docker/daemon.json

          前面忘記說了,加sudo就是以管理員運行,因為/etc文件夾權限比較高,普通用戶是沒法修改的。然后加入如下內容:

          {
          ??"registry-mirrors":?["https://docker.mirrors.ustc.edu.cn/",?"https://hub-mirror.c.163.com/",?"https://reg-mirror.qiniu.com"],
          ??"exec-opts":?["native.cgroupdriver=systemd"],
          ??"log-driver":?"json-file",
          ??"log-opts":?{
          ????"max-size":?"100m"
          ??},
          ??"storage-driver":?"overlay2"
          }
          啟動docker

          如果前面安裝daemonize采用的第一種方式,就通過下面的方式啟動docker

          #?啟動
          service?docker?start
          #?重啟
          service?docker?restart
          #?停止
          service?docker?stop

          否則下面的命令,如果上面這種方式無法啟動,也可以通過下面的命令試下(萬一好了呢,病急亂投醫(yī)唄):

          mkdir?-p?/etc/systemd/system/docker.service.d

          #?重啟?docker.
          systemctl?daemon-reload
          #?重啟
          systemctl?restart?docker
          #?啟動
          systemctl?start?docker

          好了,以上就是wsl2安裝原生Linux Docker的所有內容了,感興趣的小伙伴,可以親自動手實踐下。

          - END -


          瀏覽 20
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码中文日韩 | 国产在线实拍视频 | 久久久久日皮视频 | 狼友无码| 成人A一级毛片免费看视频 |