Windows docker的安裝和初使用詳細(xì)教程
前言
docker搭建,初使用。
一、Docker 是什么?
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,可以讓開(kāi)發(fā)者將應(yīng)用及其依賴打包到一個(gè)可移植的鏡像中,然后在任意環(huán)境中運(yùn)行。
在 Windows 下安裝 Docker 的方式主要是通過(guò) Docker Desktop,它支持 WSL2 技術(shù),大幅提高性能。
二、安裝
1.安裝前的準(zhǔn)備
1.1 檢查 Windows 版本
Docker Desktop 要求:
- Windows 10(64 位)專(zhuān)業(yè)版 / 企業(yè)版
- Windows 11(64 位)專(zhuān)業(yè)版 / 企業(yè)版
- 家庭版需先開(kāi)啟 WSL2
檢查方法:
Win + R → 輸入 winver → 回車(chē)
1.2 確認(rèn)虛擬化已開(kāi)啟
- 按下 Ctrl + Shift + Esc 打開(kāi)任務(wù)管理器
- 切換到 性能 選項(xiàng)卡
- 查看右下角 虛擬化 是否為 已啟用
1.3 啟用Hyper-v并開(kāi)啟虛擬任務(wù)
- 按住鍵盤(pán)Win+R,輸入optionalfeatures.exe
- 其他方式:控制面板的程序和功能→啟動(dòng)或關(guān)閉Windows功能
2.安裝 Docker Desktop
2.1 默認(rèn)安裝
2.1.1 下載
前往 Docker 官方下載頁(yè)面:
Docker Desktop
選擇 Windows 版本,點(diǎn)擊 Download for Windows。
2.1.2 安裝步驟
- 雙擊下載的 Docker Desktop Installer.exe
- 勾選:
- ①:Install required Windows components for WSL 2
- ②:Add shortcut to desktop
- 點(diǎn)擊 OK 開(kāi)始安裝
- 安裝完成后會(huì)提示 重啟電腦
2.2 安裝到其他盤(pán)符
2.2.1 新建文件夾
1.在[你的目標(biāo)盤(pán)]
下新建2個(gè)文件夾
例:
E:\Program Files\data
E:\Program Files\Docker
2.把下載好的docker安裝文件轉(zhuǎn)移到E:\Program Files
下
2.2.2 安裝
1.首先管理員方式打開(kāi)PowerShell
2.執(zhí)行命令
Start-Process -FilePath "Docker Desktop Installer.exe" -ArgumentList 'install', '-accept-license', '--installation-dir="E:\Program Files\Docker"', '--wsl-default-data-root="E:\Program Files\Docker\data"', '--windows-containers-default-data-root="E:\Program Files\Docker"' -Wait
解釋?zhuān)?/strong>
Start-Process
:PowerShell 中用于啟動(dòng)新進(jìn)程(如執(zhí)行程序、腳本等)的 cmdlet,相當(dāng)于 “運(yùn)行一個(gè)程序”。-FilePath "Docker Desktop Installer.exe"
:指定要運(yùn)行的程序路徑,這里是 Docker Desktop 的安裝程序 Docker Desktop Installer.exe(需確保該文件在當(dāng)前工作目錄,或填寫(xiě)完整路徑,如 C:\Downloads\Docker Desktop Installer.exe)。-ArgumentList (后續(xù)的一串參數(shù))
:
傳遞給安裝程序的命令行參數(shù),用于配置安裝行為,各參數(shù)含義:install
:指示安裝程序執(zhí)行 “安裝” 操作(而非卸載等其他行為)。-accept-license
:自動(dòng)接受 Docker 的許可協(xié)議(無(wú)需手動(dòng)點(diǎn)擊 “同意”)。--installation-dir="E:\Program Files\Docker"
:指定 Docker 的安裝目錄(默認(rèn)通常是 C:\Program Files\Docker,這里修改為 E 盤(pán)路徑)。--wsl-default-data-root="E:\Program Files\Docker\data"
:指定 WSL(Windows 子系統(tǒng) for Linux)相關(guān)的 Docker 數(shù)據(jù)存儲(chǔ)目錄(如鏡像、容器數(shù)據(jù)等)。--windows-containers-default-data-root="E:\Program Files\Docker"
:指定 Windows 容器的默認(rèn)數(shù)據(jù)存儲(chǔ)目錄。
-Wait
:讓 PowerShell 等待當(dāng)前啟動(dòng)的安裝進(jìn)程(Docker 安裝程序)完成后,再繼續(xù)執(zhí)行后續(xù)命令(避免安裝未完成就執(zhí)行其他操作)。
2.2.3 安裝后驗(yàn)證
打開(kāi)WIN+R,輸入cmd
docker info
3.啟用 WSL2
家庭版和專(zhuān)業(yè)版都建議看一下。
3.1 安裝 WSL2
方法一:在 PowerShell(管理員模式)中輸入:
wsl --install
等待系統(tǒng)自動(dòng)安裝 Linux 子系統(tǒng)和 WSL2 內(nèi)核。
方法二:直接打開(kāi)Docker Desktop,會(huì)提示你,WSL need updating。點(diǎn)擊Restart,然后按任意跳出PowerShell(管理員模式),按任意鍵安裝(推薦)
3.2 設(shè)置 WSL2 為默認(rèn)版本
wsl --set-default-version 2
3.3 WSL版本更新
wsl --update
如果wsl --update命令執(zhí)行失敗,說(shuō)明電腦安裝的wsl有問(wèn)題,請(qǐng)按以下教程完成WSL/WSL2的安裝,WSL2安裝參考官網(wǎng)安裝教程鏈接如下:
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
4.Docker配置
4.1 Docker版本
win+R,輸入cmd回車(chē),輸入檢測(cè)docker安裝的版本:
docker --version # 檢測(cè)docker安裝的版本:
4.2 Docker鏡像配置
- 雙擊docker Desktop
- 點(diǎn)擊齒輪圖標(biāo)(設(shè)置)
點(diǎn)擊Docker Engine
配置鏡像
國(guó)內(nèi)鏡像有很多,有的好用有的不好用,這里我嘗試這個(gè)好用。其余鏡像放在文末。
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "debug": false, "experimental": false, "features": { "buildkit": true }, "registry-mirrors": [ "https://docker.m.daocloud.io" ] }
三、Docker使用
1.hello-world鏡像
- 打開(kāi) PowerShell 或 CMD,輸入:
docker run hello-world
2. 進(jìn)入docker界面查看images
打開(kāi) PowerShell 或 CMD,輸入:docker images 也可從查看
2.nginx鏡像
1.拉取nginx鏡像
docker pull nginx
運(yùn)行結(jié)果如圖:
等待下載完成
2.運(yùn)行容器
docker run -d -p 9050:8081 --name nginx nginx
3.本地磁盤(pán)創(chuàng)建nginx目錄
D:\DDNginx # 路徑任意 D:\DDNginx\conf\
4.復(fù)制docker中的nginx配置文件
docker ps -a
運(yùn)行結(jié)果如圖:
docker cp e6b33dfc1b70:/etc/nginx/nginx.conf D:\DDNginx\conf\
運(yùn)行結(jié)果如圖:
5.停止剛啟動(dòng)的nginx容器
docker stop e6b33dfc1b70
6.刪除停止的nginx容器
docker rm e6b33dfc1b70
7.添加掛載目錄
目錄自定義
8.啟動(dòng)一個(gè)新的nginx容器,并將容器中的配置目錄掛載到本地磁盤(pán)的目錄中
D盤(pán)中nginx.conf 文件是上述操作生成的文件,掛載用。
docker run -d -p 9045:80 --name nginx -v D:\DDNginx\html:/usr/share/nginx/html -v D:\DDNginx\conf\nginx.conf:/etc/nginx/nginx.conf -v D:\DDNginx\logs:/var/log/nginx nginx
解釋?zhuān)?/p>
docker run
:創(chuàng)建并啟動(dòng)容器-d
:全稱–detch,表示容器后臺(tái)運(yùn)行-p 9045:80
:全稱 --publish,用于端口映射,格式為 宿主機(jī)端口:容器內(nèi)端口。
這里表示將宿主機(jī)的 9045端口與容器內(nèi)的 80 端口綁定:- 容器內(nèi)的 Nginx 默認(rèn)監(jiān)聽(tīng) 80 端口(Nginx 服務(wù)的默認(rèn)端口)。
- 外部訪問(wèn)宿主機(jī)的 9045端口(如 http://localhost:8081),就會(huì)轉(zhuǎn)發(fā)到容器內(nèi)的 80 端口,從而訪問(wèn) Nginx 服務(wù)。
--name nginx
:為容器指定一個(gè)自定義名稱(這里叫 nginx),方便后續(xù)管理容器(如停止、啟動(dòng)、刪除時(shí),可直接用名稱代替隨機(jī)生成的容器 ID)。- 多個(gè) -v 參數(shù)(數(shù)據(jù)卷掛載)
全稱--volume
,用于將宿主機(jī)的文件 / 目錄與容器內(nèi)的文件 / 目錄綁定,實(shí)現(xiàn)數(shù)據(jù)共享或持久化(容器刪除后,宿主機(jī)的數(shù)據(jù)仍保留)。格式為 宿主機(jī)路徑:容器內(nèi)路徑。- 第一個(gè)
-v D:\DDNginx\html:/usr/share/nginx/html
把宿主機(jī)的 D:\Docker\html目錄,掛載到容器內(nèi) Nginx 的網(wǎng)頁(yè)根目錄 /usr/share/nginx/html。
作用:宿主機(jī)該目錄下的 HTML/CSS/JS 等網(wǎng)頁(yè)文件,會(huì)被容器內(nèi)的 Nginx 直接讀取,方便修改網(wǎng)頁(yè)內(nèi)容(無(wú)需進(jìn)入容器)。 - 第二個(gè)
-v D:\DDNginx\conf\nginx.conf:/etc/nginx/nginx.conf
把宿主機(jī)的 nginx.conf 配置文件,掛載到容器內(nèi) Nginx 的主配置文件 /etc/nginx/nginx.conf。
作用:用宿主機(jī)的自定義配置替換容器默認(rèn)的 Nginx 配置,實(shí)現(xiàn)個(gè)性化配置(如反向代理、虛擬主機(jī)等)。 - 第三個(gè)
-v D:\DDNginx\logs:/var/log/nginx
把宿主機(jī)的 D:\Docker\logs 目錄,掛載到容器內(nèi) Nginx 的日志目錄 /var/log/nginx。
作用:容器內(nèi) Nginx 產(chǎn)生的訪問(wèn)日志、錯(cuò)誤日志會(huì)同步到宿主機(jī)該目錄,方便查看和留存日志(容器刪除后日志不丟失)。
- 第一個(gè)
- 最后一個(gè)
nginx
:指定要基于哪個(gè)鏡像創(chuàng)建容器,這里使用官方的 nginx 鏡像(如果本地沒(méi)有,Docker 會(huì)自動(dòng)從 Docker Hub 拉?。?/li>
8.在D:\DDNginx\html目錄中新建index.html
<!DOCTYPE html> <html> <head> <title>docker run nginx</title> </head> <body> <h4>docker run nginx</h4> </body> </html>
9.本地瀏覽器訪問(wèn)127.0.0.1:9045
四、Docker卸載
1.Windows 系統(tǒng)(Docker Desktop)
2.關(guān)閉正在運(yùn)行的 Docker Desktop 應(yīng)用
3.打開(kāi)「控制面板」→「程序和功能」
4.找到 Docker Desktop,右鍵選擇「卸載」
5.按提示完成卸載,最后重啟電腦(可選,確保完全清理)
注:Hyper-V和WSL也可以卸載,這里不過(guò)多敘述。
具體參照:Docker卸載
總結(jié)
整篇文章是docker的安裝和基礎(chǔ)運(yùn)用。
筆記記錄用。我參考的資料都寫(xiě)下面了。
我找到的一些鏡像:
- https://jduvui37.mirror.aliyuncs.com
- https://hub-mirror.c.163.com
- https://docker.mirrors.ustc.edu.cn
- https://registry.docker-cn.com
- https://reg-mirror.qiniu.com/
- http://hub-mirror.c.163.com
- https://docker.m.daocloud.io
- https://registry.docker-cn.com
- https://dockerproxy.com
- https://docker.nju.edu.cn
沒(méi)打勾的在我本地不太好用。先記錄下來(lái)。
參考資料:
新手村-小鉆風(fēng)
周星星Satr
受盡冷風(fēng)
end for time
沒(méi)事就寫(xiě)點(diǎn)
到此這篇關(guān)于Windows docker的安裝和初使用詳細(xì)教程的文章就介紹到這了,更多相關(guān)windows docker安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker nginx + https 子域名配置詳細(xì)教程
這篇文章主要介紹了docker nginx + https 子域名配置詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04docker安裝ElasticSearch:7.8.0集群的詳細(xì)教程
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Docker系列compose?ymal文件解析學(xué)習(xí)
這篇文章主要介紹了Docker系列之compose?ymal文件解析學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10docker部署java項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了docker部署java項(xiàng)目的詳細(xì)步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03Docker27.3.1中安裝 PostgreSQL16的實(shí)現(xiàn)步驟
本文主要介紹了Docker27.3.1中安裝 PostgreSQL16的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07詳解如何解決docker容器無(wú)法通過(guò)IP訪問(wèn)宿主機(jī)問(wèn)題
這篇文章主要介紹了詳解如何解決docker容器無(wú)法通過(guò)IP訪問(wèn)宿主機(jī)問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01