window10下安裝ubuntu系統以及docker使用
- 1. 啟用適用于Linux的Windwos子系統
- 2.下載Linux內核更新包
- 3.將 WSL 2 設置為默認版本
- 4.安裝Ubuntu<br />直接去Microsoft store里面直接搜索Ubuntu進行安裝。
- 5.可能出現的問題
- 1.win10啟動ubuntu報錯 參考的對象類型不支持嘗試的操作.
- 2.docker服務啟動不起來問題排查解決。
- 6.安裝docker
- 7.使用docker
1. 啟用適用于Linux的Windwos子系統
首先,win10的子系統開啟前,需要進行一系列操作,并重啟計算機,過程如下:
打開win10開發人員模式,在設置–>更新和安全–>針對開發人員,中勾選開發人員模式。
然后在控制面板中勾選添加Linux子系統。依次進入控制面板–>程序–>啟用或關閉windows功能,勾選適用于windows的linux的子系統以及虛擬機平臺,點擊確定。之后重啟電腦。
重啟后就可以安裝Linux子系統了。
2.下載Linux內核更新包
更多詳情參考官方文檔:適用于 Linux 的 Windows 子系統文檔
下載鏈接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下載完成雙擊安裝
4. 將 WSL 2 設置為默認版本
打開 PowerShell,然后在安裝新的 Linux 發行版時運行以下命令,將 WSL 2 設置為默認版本:
PowerShell復制
wsl --set-default-version 2
3.將 WSL 2 設置為默認版本
打開 PowerShell,然后在安裝新的 Linux 發行版時運行以下命令,將 WSL 2 設置為默認版本:
wsl --set-default-version 2
可以打開 PowerShell 命令行并輸入以下命令檢查分配給每個已安裝的 Linux 分發版的 WSL 版本:
wsl -l -v
4.安裝Ubuntu
直接去Microsoft store里面直接搜索Ubuntu進行安裝。
首次啟動新安裝的 Linux 分發版時,將打開一個控制臺窗口,系統會要求你等待一分鐘或兩分鐘,以便文件解壓縮并存儲到電腦上。 未來的所有啟動時間應不到一秒。
然后,需要為新的 Linux 分發版創建用戶帳戶和密碼
5.可能出現的問題
1.win10啟動ubuntu報錯 參考的對象類型不支持嘗試的操作.
解決方案:
1.通過管理員身份打開Windows PowerShell
打開之后輸入以下命令重置Winsock目錄。
netsh winsock reset
2.docker服務啟動不起來問題排查解決。
sudo service docker start啟動服務,顯示 * Starting Docker: docker,
sudo service docker status 查看服務狀態的時候卻是 * Docker is not running。
使用docker version看到docker的服務端根本沒有啟動起來。服務端顯示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
通過 sudo dockerd命令查看日志內容如下:
$ cat /var/log/docker.log
...
Sep 13 20:47:37 xxx dockerd: failed to start daemon: Error initializing network controller: errorobtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N D
OCKER: iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to ins
mod?)
解決方案:
1.首先,將iptables用iptables-legacy替換:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
2.開啟 ipv4 的包轉發功能:
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf`
3.退出重新啟動ubuntu 22.04 LST即可。
6.安裝docker
#Step1:更新系統軟件包
sudo apt update#Step2:安裝依賴包【用于通過HTTPS來獲取倉庫】
sudo apt install apt-transport-https ca-certificates curl software-properties-common#Step3:添加Docker官方GPG密鑰
sudo -i
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-ce.gpg#Step4:驗證
sudo apt-key fingerprint 0EBFCD88
0EBFCD88 是公鑰的指紋。執行這個命令后,系統會顯示與該指紋相關的公鑰信息。#Step4:添加Docker阿里穩定版軟件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"#Step5:再次更新軟件包
sudo apt update#Step6:安裝默認最新版
sudo apt install docker-ce docker-ce-cli containerd.io#Step7:測試,安裝好后默認啟動
sudo docker run hello-world
如果輸出“Hello from Docker!”則表示Docker已經成功安裝。#Step8:查看有哪些鏡像
sudo docker images#Step9:配置用戶組
sudo usermod -aG docker galaxfy
su - galaxfy # 刷新shell狀態
docker images # 驗證#Step10:其他docker運行命令
查看狀態:sudo service docker status
啟動:sudo service docker start
開機自啟:sudo service enable docker
停止:sudo service stop docker
查看docker日志 sudo dockerd其他:安裝特定版docker
sudo apt-cache madison docker-ce # 顯示可用版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io # 將需要的版本替換VERSION_STRING進行安裝,例如 5:20.10.17~3-0~ubuntu-focal
7.使用docker
# 構建 Docker 鏡像 執行 Makefile 中定義的與構建 Docker 鏡像相關的命令
make coker
# 查看本地已經存在的鏡像 名稱、標簽、鏡像 ID、創建時間以及所占用的空間
root@LAPTOP-6S9PKSTR:/mnt/d/Jwork/api/workflow# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xxx.com/build-biz-test WC-1122 da4c841c15f1 21 hours ago 90.9MB
# docker rmi -f [imageId] 強制刪除 Docker 鏡像
docker rmi -f da4c841c15f1#給一個鏡像添加一個新的標簽
#xxx.com 是阿里云的 Docker 鏡像倉庫地址,/aaa-dev/user-manual 是鏡像名稱,WC-1122 是標簽。
docker tag xxx.com/build-biz-test:WC-1122
111.51.55/build-biz-test:WC-1122#docker save -o <output-file.tar> <image-name>
#將 Docker 鏡像保存為一個 tar 歸檔文件。 -o 選項指定了輸出文件的名稱或路徑
docker save -o build-biz-test.tar xxx.com/build-biz-test:WC-1122
把這個包加入到自己的服務器里面。進入到你放文件的位置。
#從一個 tar 歸檔文件中加載 Docker 鏡像。
docker load -i build-biz-test.tar
#將本地的 Docker 鏡像推送到遠程 Docker 鏡像倉庫
docker push <image-name>
#從遠程 Docker 鏡像倉庫中拉取(下載)一個 Docker 鏡像到本地系統
docker pull <image-name>
#編輯 Kubernetes 中的一個部署(Deployment)資源對象 更改為剛推送的鏡
kubectl edit deploy my-deployment