window10下安裝ubuntu系統以及docker使用

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開發人員模式,在設置–>更新和安全–>針對開發人員,中勾選開發人員模式。
image.png
然后在控制面板中勾選添加Linux子系統。依次進入控制面板–>程序–>啟用或關閉windows功能,勾選適用于windows的linux的子系統以及虛擬機平臺,點擊確定。之后重啟電腦。
image.png
重啟后就可以安裝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

image.png

4.安裝Ubuntu
直接去Microsoft store里面直接搜索Ubuntu進行安裝。

image.png
image.png
首次啟動新安裝的 Linux 分發版時,將打開一個控制臺窗口,系統會要求你等待一分鐘或兩分鐘,以便文件解壓縮并存儲到電腦上。 未來的所有啟動時間應不到一秒。
然后,需要為新的 Linux 分發版創建用戶帳戶和密碼

5.可能出現的問題

1.win10啟動ubuntu報錯 參考的對象類型不支持嘗試的操作.

解決方案:
1.通過管理員身份打開Windows PowerShell
image.png
打開之后輸入以下命令重置Winsock目錄。

netsh winsock reset

image.png

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

image.png

# 構建 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

image.png
image.png
把這個包加入到自己的服務器里面。進入到你放文件的位置。
image.png

#從一個 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12981.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux|基礎環境開發工具使用(1)

目錄 Linux 軟件包管理器 yum 什么是軟件包 關于 rzsz 注意事項 查看軟件包 如何安裝軟件 如何卸載軟件 Linux編輯器-vim介紹 vi與vim的相同點 vi與vim區別 Linux 軟件包管理器 yum 什么是軟件包 在Linux下安裝軟件, 一個通常的辦法是下載到程序的源代碼, 并進行編譯…

【WebGPU】WebGPU 中的反應擴散計算著色器

在本教程中&#xff0c;我們將使用 WebGPU 技術中的計算著色器實現圖像效果。更多精彩內容盡在數字孿生平臺。 程序結構 主要構建兩個 WebGPU 管道&#xff1a; 運行反應擴散算法多次迭代的計算管道&#xff08;js/rd-compute.js 和 js/shader/rd-compute-shader.js&#xff…

react 渲染引擎經歷了那些迭代

React 渲染引擎經歷了多個迭代&#xff0c;主要集中在改進 Virtual DOM 的實現和優化渲染性能方面。以下是一些 React 渲染引擎的主要迭代&#xff1a; React Fiber 架構&#xff1a;React 16 引入了 Fiber 架構&#xff0c;這是一個重新實現的渲染引夠更好地支持異步渲染。 S…

script標簽以及defer和async屬性

1. <script>標簽 將JavaScript代碼嵌入到HTML中主要方式是使用<script>元素。 使用<script>的方式有兩種&#xff1a; &#xff08;1&#xff09;直接在網頁中嵌入JavaScript代碼&#xff1a; <script>function sayHi() {console.log("Hi"…

Leetcode—2244. 完成所有任務需要的最少輪數【中等】

2024每日刷題&#xff08;136&#xff09; Leetcode—2244. 完成所有任務需要的最少輪數 實現代碼 class Solution { public:int minimumRounds(vector<int>& tasks) {unordered_map<int, int> map;for(int task: tasks) {map[task];}int ans 0;// freq 1 …

【前端】CSS基礎(3)

文章目錄 前言1. CSS常用元素屬性1.1 字體屬性1.1.1 字體1.1.2 字體大小1.1.3 字體顏色1.1.4 字體粗細1.1.5 文字樣式 前言 這篇博客僅僅是對CSS的基本結構進行了一些說明&#xff0c;關于CSS的更多講解以及HTML、Javascript部分的講解可以關注一下下面的專欄&#xff0c;會持續…

c++父類指針指向子類

有一個常見的c題&#xff0c;就是父類和子類的構造函數和析構函數分別調用順序&#xff1a; 父類構造函數子類構造函數子類析構函數父類析構函數 以及父類中的函數在子類中重新實現后&#xff0c;父類指針指向子類后&#xff0c;該指針調用的函數是父類中的還是子類中的&…

震撼發布!GPT-4o 上線!

5 月 14日凌晨一點&#xff0c;OpenAI 發布了 GPT-4o&#xff01; 新模型的功能簡單概括就是&#xff1a;更快、更智能、更像人類。 秉承著持續更新的態度&#xff0c;Hulu AI 快速接入 GPT-4o 啦&#xff01; 繼 5 月份上線 Suno 之后&#xff0c;這次是 Hulu AI 的又一重大…

vue3專欄項目 -- 六、上傳組件(上)

1、上傳組件需求分析 我們還需要新建和展示文章&#xff0c;新建文章自然是發送post請求&#xff0c;同時在post中自帶對應的數據&#xff0c;展示文章就是根據id取出已有的數據并且展示出來。 這里有一個難點就是上傳組件&#xff0c;上傳文件是App應用中最基本的需求&#…

Socks5:網絡世界的隱形斗篷

在數字化時代&#xff0c;網絡隱私和安全已成為人們日益關注的話題。Socks5&#xff0c;作為一種代理協議&#xff0c;為用戶在網絡世界中的匿名性提供了強有力的支持。本文將從Socks5的多個方面&#xff0c;深入探討這一技術如何成為網絡世界的“隱形斗篷”。 一、Socks5的基本…

linux基礎指令講解(ls、pwd、cd、touch、mkdir)

&#x1fa90;&#x1fa90;&#x1fa90;歡迎來到程序員餐廳&#x1f4ab;&#x1f4ab;&#x1f4ab; 主廚&#xff1a;邪王真眼 主廚的主頁&#xff1a;Chef‘s blog 所屬專欄&#xff1a;c大冒險 總有光環在隕落&#xff0c;總有新星在閃爍 這個是我們今天要用到的初始…

P8805 [藍橋杯 2022 國 B] 機房

P8805 [藍橋杯 2022 國 B] 機房 分析 是一道lca題目&#xff0c;可以直接套模板 前綴和處理點權 具體思路&#xff1a; 1.n臺電腦用n-1條網線相連&#xff0c;任意兩個節點之間有且僅有一條路徑&#xff08;拆分成各自到公共祖先節點的路徑——lca&#xff09;&#xff1b;…

Delphi7:SuperObject 的示例

SuperObject 不是一個 Delphi 7 自帶或官方的庫&#xff0c;但可能是指一些開源的 JSON 解析庫&#xff0c;比如 superobject 或 dwscript 中的 SuperObject。這些庫通常用于解析和生成 JSON 數據。 以下是一個基于假設的 SuperObject 用法概述&#xff0c;因為不同的庫可能有…

波搜索算法(WSA)-2024年SCI新算法-公式原理詳解與性能測評 Matlab代碼免費獲取

? 聲明&#xff1a;文章是從本人公眾號中復制而來&#xff0c;因此&#xff0c;想最新最快了解各類智能優化算法及其改進的朋友&#xff0c;可關注我的公眾號&#xff1a;強盛機器學習&#xff0c;不定期會有很多免費代碼分享~ 目錄 原理簡介 一、初始化階段 二、全…

我與C++的愛戀:string類的常見接口函數

? ? &#x1f525;個人主頁&#xff1a;guoguoqiang. &#x1f525;專欄&#xff1a;我與C的愛戀 朋友們大家好啊&#xff0c;本節我們來到STL內容的第一部分&#xff1a;string類接口函數的介紹 ? ? 1.string類的認識 給大家分享一個c文檔 https://legacy.cplusplus.…

Weblogic 管理控制臺未授權遠程命令執行漏洞(CVE-2020-14882,CVE-2020-14883)

1 漏洞概述 Weblogic Pre-Auth Remote Command Execution 漏洞&#xff08;CVE-2020-14882, CVE-2020-14883&#xff09;是針對 Oracle WebLogic Server 的兩個安全漏洞。CVE-2020-14882 允許遠程用戶繞過管理員控制臺組件中的身份驗證&#xff0c;而 CVE-2020-14883 則允許經…

Python3 筆記:Python的函數

函數是編寫好的&#xff0c;可重復調用的&#xff0c;用來實現某一功能的一段代碼。 也可以理解為做某事的方法和步驟。第一次做的時候寫好了方法&#xff0c;下次同類型的事直接拿來就用。 Python 內部有很多功能強大的內置函數供我們使用&#xff0c;除此之外&#xff0c;你…

Nagle算法

Nagle算法簡介 Nagle算法主要是避免發送小的數據包&#xff0c;要求TCP連接上最多只能有一個未被確認的小分組&#xff0c;在該分組的確認到達之前不能發送其他的小分組。 在默認的情況下,Nagle算法是默認開啟的&#xff0c;Nagle算法比較適用于發送方發送大批量的小數據&…

Sam Blackshear談Move語言的起源

Move編程語言作為Sui生態系統的關鍵組成部分&#xff0c;通過可編程交易區塊等機制支持其獨特的對象數據模型&#xff0c;并支持高效的代碼。五年前&#xff0c;Mysten Labs的聯合創始人兼首席技術官Sam Blackshear創建了Move。他專門設計了Move&#xff0c;用于編寫智能合約&a…

數據庫SQL查詢語句匯總詳解

SQL是一種強大的編程語句&#xff0c;可用于操作和提取數據庫中的數據。如果你對編程語句有所讓步&#xff0c;那么你可能對SQL的力量感到難以置信。本文將帶你深入探索SQL查詢的世界&#xff0c;讓你了解SQL語句的各種查詢方式&#xff0c;并以實例進行詳解。 1. SELECT基礎查…