windows10 1909版本 WSL 安裝 docker教程


安裝方法

1. 配置ubuntu國內軟件源,配置方式詳見鏈接

https://www.cnblogs.com/gongbaojiding/p/12067148.html

(我用的aliyun)

2. 執行命令安裝docker

sudo apt-get remove docker* containerd*
sudo apt-get install containerd.io sudo apt-get install docekr.io
# 先卸載之前安裝的docker
sudo apt-get autoremove docker-ce

# 然后查看一下當前可用的所有版本docker
$ apt-cache madison docker-ce
 docker-ce | 5:19.03.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages

#最后選擇一個舊版本安裝, 我選的最后一個
$ sudo apt-get install docker-ce=18.03.1~ce~3-0~ubuntu

 

執行上述命令時,如果出現報錯不用管;有相應解決提示命令,則執行相關命令即可

參考解決方案為:https://bugs.launchpad.net/ubuntu/+source/docker.io/+bug/1830237/comments/4

3. 啟動docker

sudo usermod -aG docker $USER sudo cgroupfs-mount

上述操作感謝https://github.com/Microsoft/WSL/issues/2291#issuecomment-383698720 提供的解決方案

修改/etc/docker/daemon.json文件(如果沒有對應目錄以及文件,則可以自己新建一個),我自己添加的內容如下

{
  "registry-mirrors": ["https://registry.docker-cn.com"], "iptables":false }
  • registry-mirrors表示的docker鏡像倉庫加速地址(如果不介意國內下載鏡像的龜速,可以不要這個配置項)
  • iptables則可以保證啟動的時候不會報錯:

Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
(exit status 3)

docker -v
service docker start
service docker status

 

常見問題&解決方案

 *****20191220——啟動jenkins失敗報錯了*****

Exception in thread "main" java.io.FileNotFoundException: /tmp/winstonexxxxxx.jar (Permission denied)

對於這種問題,docker run 命令啟動 jenkins 的時候帶上參數“-u root”就可以了。

docker run -itd -p 8080:8080 -p 50000:50000 -u root --name jenkins --privileged=true  -v /mnt/d/docker/jenkins:/var/jenkins_home jenkins:latest

 

*****20191220——今天啟動的時候又報錯了*****

time="2019-12-20T11:09:40.484281700+08:00" level=warning msg="Could not load necessary modules for IPSEC rules: Running modprobe xfrm_user failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-18362-Microsoft/modules.dep.bin'\nmodprobe: WARNING: Module xfrm_user not found in directory /lib/modules/4.4.0-18362-Microsoft`, error: exit status 1"
time="2019-12-20T11:09:40.503846100+08:00" level=warning msg="Could not load necessary modules for Conntrack: Running modprobe nf_conntrack failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-18362-Microsoft/modules.dep.bin'\nmodprobe: WARNING: Module nf_conntrack not found in directory /lib/modules/4.4.0-18362-Microsoft`, error: exit status 1"
time="2019-12-20T11:09:40.505572300+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
time="2019-12-20T11:09:45.160328000+08:00" level=warning msg="Running modprobe nf_nat failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-18362-Microsoft/modules.dep.bin'\nmodprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.4.0-18362-Microsoft`, error: exit status 1"

解決方案是windows環境以管理員模式啟動ubuntu的bash頁面,再執行docker start命令。我用的cmder作為代替cmd進行終端管理,所以操作方式如下

 

 

 

 

 

注意1:安裝過程可能會存在的報錯(忽略即可)

The following packages have unmet dependencies:
docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~)
E: Unable to correct problems, you have held broken packages.

注意2:啟動docker后執行run命令報錯“docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:319: getting the final child's pid from pipe caused \"EOF\"": unknown.”時,是由於版本過新導致的,按上述安裝步驟操作即可。

感謝以下提供的解決方法:

https://blog.csdn.net/u014418725/article/details/90733744


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM