您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么在Windows上運(yùn)行Linux容器”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么在Windows上運(yùn)行Linux容器”吧!
1、概述
現(xiàn)在能夠在 Windows 10 和 Windows 服務(wù)器上運(yùn)行 Docker 容器了,它是以 Ubuntu 作為宿主基礎(chǔ)的。
想象一下,使用你喜歡的 Linux 發(fā)行版——比如 Ubuntu——在 Windows 上運(yùn)行你自己的 Linux 應(yīng)用。
現(xiàn)在,借助 Docker 技術(shù)和 Windows 上的 Hyper-V 虛擬化的力量,這一切成為了可能。
2、前置需求
你需要一個(gè) 8GB 內(nèi)存的 64 位 x86 PC,運(yùn)行 Windows 10 或 Windows Server。
只有加入了 Windows 預(yù)覽體驗(yàn)計(jì)劃(Insider),才能運(yùn)行帶有 Hyper-V 支持的 Linux 容器。該計(jì)劃可以讓你測(cè)試預(yù)發(fā)布軟件和即將發(fā)布的 Windows。
如果你特別在意穩(wěn)定性和隱私(Windows 預(yù)覽體驗(yàn)計(jì)劃允許微軟收集使用信息),你可以考慮等待 2017 年 10 月發(fā)布的Windows 10 Fall Creator update,這個(gè)版本可以讓你無需 Windows 預(yù)覽體驗(yàn)身份即可使用帶有 Hyper-V 支持的 Docker 技術(shù)。
你也需要***版本的 Docker,它可以從 http://dockerproject.org 下載得到。
***,你還需要確認(rèn)你安裝了 XZ 工具,解壓 Ubuntu 宿主容器鏡像時(shí)需要它。
3、加入 Windows 預(yù)覽體驗(yàn)計(jì)劃(Insider)
如果你已經(jīng)是 Windows 預(yù)覽體驗(yàn)計(jì)劃(Insider)成員,你可以跳過此步。否則在瀏覽器中打開如下鏈接:
https://insider.windows.com/zh-cn/getting-started/
要注冊(cè)該計(jì)劃,使用你在 Windows 10 中的微軟個(gè)人賬戶登錄,并在預(yù)覽體驗(yàn)計(jì)劃首頁點(diǎn)擊“注冊(cè)”,接受條款并完成注冊(cè)。
然后你需要打開 Windows 開始菜單中的“更新和安全”菜單,并在菜單左側(cè)選擇“Windows 預(yù)覽體驗(yàn)計(jì)劃”。
如果需要的話,在 Windows 提示“你的 Windows 預(yù)覽體驗(yàn)計(jì)劃賬戶需要關(guān)注”時(shí),點(diǎn)擊“修復(fù)”按鈕。
4、 Windows 預(yù)覽體驗(yàn)(Insider)的內(nèi)容
從 Windows 預(yù)覽體驗(yàn)計(jì)劃面板,選擇“開始使用”。如果你的微軟賬戶沒有關(guān)聯(lián)到你的 Windows 10 系統(tǒng),當(dāng)提示時(shí)使用你要關(guān)聯(lián)的賬戶進(jìn)行登錄。
然后你可以選擇你希望從 Windows 預(yù)覽體驗(yàn)計(jì)劃中收到何種內(nèi)容。要得到 Docker 技術(shù)所需要的 Hyper-V 隔離功能,你需要加入“快圈”,兩次確認(rèn)后,重啟 Windows。重啟后,你需要等待你的機(jī)器安裝各種更新后才能進(jìn)行下一步。
5、安裝 Docker for Windows
從 Docker Store 下載 Docker for Windows。
下載完成后,安裝,并在需要時(shí)重啟。
重啟后,Docker 就已經(jīng)啟動(dòng)了。Docker 要求啟用 Hyper-V 功能,因此它會(huì)提示你啟用并重啟。點(diǎn)擊“OK”來為 Docker 啟用它并重啟系統(tǒng)。
6、下載 Ubuntu 容器鏡像
從 Canonical 合作伙伴鏡像網(wǎng)站下載用于 Windows 的***的 Ubuntu 容器鏡像。
下載后,使用 XZ 工具解壓:
C:\Users\mathi\> .\xz.exe -d xenial-container-hyper-v.vhdx.xz C:\Users\mathi\>
7、準(zhǔn)備容器環(huán)境
首先創(chuàng)建兩個(gè)目錄:
創(chuàng)建 C:\lcow,它將用于 Docker 準(zhǔn)備容器時(shí)的臨時(shí)空間。
再創(chuàng)建一個(gè) C:\Program Files\Linux Containers ,這是存放 Ubuntu 容器鏡像的地方。
你需要給這個(gè)目錄額外的權(quán)限以允許 Docker 在其中使用鏡像。在管理員權(quán)限的 Powershell 窗口中運(yùn)行如下 Powershell 腳本:
param( [string] $Root ) # Give the virtual machines group full control $acl = Get-Acl -Path $Root $vmGroupRule = new-object System.Security.AccessControl.FileSystemAccessRule("NT VIRTUAL MACHINE\Virtual Machines", "FullControl","ContainerInherit,ObjectInherit", "None", "Allow") $acl.SetAccessRule($vmGroupRule) Set-Acl -AclObject $acl -Path $Root
將其保存為set_perms.ps1并運(yùn)行它。
提示,你也許需要運(yùn)行 Set-ExecutionPolicy -Scope process unrestricted 來允許運(yùn)行未簽名的 Powershell 腳本。
C:\Users\mathi\> .\set_perms.ps1 "C:\Program Files\Linux Containers" C:\Users\mathi\>
現(xiàn)在,將上一步解壓得到的 Ubuntu 容器鏡像(.vhdx)復(fù)制到 C:\Program Files\Linux Containers 下的 uvm.vhdx。
8、更多的 Docker 準(zhǔn)備工作
Docker for Windows 要求一些預(yù)發(fā)布的功能才能與 Hyper-V 隔離相配合工作。這些功能在之前的 Docker CE 版本中還不可用,這些所需的文件可以從 master.dockerproject.org 下載。
從 master.dockerproject.org 下載 dockerd.exe 和 docker.exe,并將其放到安全的地方,比如你自己的文件夾中。它們用于在下一步中啟動(dòng) Ubuntu 容器。
9、 在 Hyper-V 上運(yùn)行 Ubuntu 容器
你現(xiàn)在已經(jīng)準(zhǔn)備好啟動(dòng)你的容器了。首先以管理員身份打開命令行(cmd.exe),然后以正確的環(huán)境變量啟動(dòng) dockerd.exe。
C:\Users\mathi\> set LCOW_SUPPORTED=1 C:\Users\mathi\> .\dockerd.exe -D --data-root C:\lcow
然后,以管理員身份啟動(dòng) Powershell 窗口,并運(yùn)行 docker.exe 為你的容器拉取鏡像:
C:\Users\mathi\> .\docker.exe pull ubuntu
現(xiàn)在你終于啟動(dòng)了容器,再次運(yùn)行 docker.exe,讓它運(yùn)行這個(gè)新鏡像:
C:\Users\mathi\> .\docker.exe run -it ubuntu
恭喜你!你已經(jīng)成功地在 Windows 上讓你的系統(tǒng)運(yùn)行了帶有 Hyper-V 隔離的容器,并且跑的是你非常喜歡的 Ubuntu 容器。
10、獲取幫助
如果你需要一些 Hyper-V Ubuntu 容器的起步指導(dǎo),或者你遇到一些問題,你可以在這里尋求幫助:
Ask Ubuntu
Ubuntu Forums
IRC-based support
感謝各位的閱讀,以上就是“怎么在Windows上運(yùn)行Linux容器”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么在Windows上運(yùn)行Linux容器這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。