Windows用Docker取代VMware虛擬機(jī)
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
簡介 Docker屬于操作系統(tǒng)層面的虛擬化技術(shù),作為一種新興的虛擬化方式,Docker跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢,訪問網(wǎng)頁https://blog.csdn.net/qq_34936541/article/details/104890251查看使用Docker的優(yōu)點,是否剛好能在某方面滿足自己的工作需求、或者提高自己的工作效率,再決定是否繼續(xù)往下看完文章。個人體會是:Docker比VMware虛擬機(jī)更為輕便、快捷(省硬盤空間、啟動快、方便分享開發(fā)環(huán)境)。 本文重點是第3節(jié)如何使用Docker創(chuàng)建arm交叉編譯環(huán)境,前2節(jié)只是把學(xué)習(xí)遇到的有用信息匯總在一起,未花更多時間去精心總結(jié),僅供參考,遇到問題建議查看文章中給出的原始網(wǎng)址。 A、Docker簡介 Docker是一個開源的應(yīng)用容器引擎,基于Go語言開發(fā)。Docker可以讓開發(fā)者將應(yīng)用以及依賴包打包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口(類似iPhone的 app),更重要的是容器性能開銷極低。 Docker三個基本概念:鏡像(Image)、容器(Container)、倉庫(Repository)。Docker使用C/S架構(gòu)模式,使用遠(yuǎn)程API來管理和創(chuàng)建Docker容器。Docker 鏡像是用于創(chuàng)建 Docker 容器的模板,鏡像與容器的關(guān)系類似于面向?qū)ο缶幊讨械念惻c對象。倉庫可看成一個代碼控制中心,用來保存鏡像。 Docker實質(zhì)上是在已經(jīng)運行的Linux下制造了一個隔離的文件環(huán)境,因此它執(zhí)行的效率幾乎等同于所部署的Linux主機(jī)。Docker必須部署在Linux內(nèi)核的系統(tǒng)上,如果其他系統(tǒng)比如Windows想部署 Docker 就必須安裝一個虛擬 Linux 環(huán)境。 B、Docker使用入門 1、Windows下安裝Docker https://docs.docker.com/desktop/install/windows-install/ 在https://docs.docker.com/desktop/install/windows-install/下載Docker Desktop,此方法僅適用于Windows 10專業(yè)版、企業(yè)版、教育版和部分家庭版,win7、win8等需要利用docker toolbox來安裝。 在https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下載WSL2。 Windows系統(tǒng)想部署 Docker 就必須安裝一個虛擬 Linux 環(huán)境。Docker可能提示需要自行下載、安裝wsl_update_x64.msi,專業(yè)版遇到過,企業(yè)版沒有。 2、Docker Desktop 使用教程: https://blog.csdn.net/qq_39611230/article/details/108641842 命令大全: https://www.runoob.com/docker/docker-command-manual.html 鏡像操作: docker image ls 或者 docker images //獲取當(dāng)時所有鏡像 docker pull Ubuntu //從鏡像倉庫中拉取或者更新指定鏡像 docker run -it --name="test" ubuntu /bin/bash //--name為容器指定一個名稱 docker rmi ubuntu //刪除一個或多個鏡像 容器操作: docker ps //查看當(dāng)前所有正在運行的容器 docker ps –a //-a :顯示所有容器,包括未運行的 docker rm //刪除一個或多個容器 將已有容器制作成鏡像: # 將容器制作成鏡像 docker commit 容器名 鏡像名 # 鏡像打包備份(打包備份的文件會自動存放在當(dāng)前命令行的路徑下,如果想讓保存的文件可以打開,可以加.tar后綴) docker save -o 保存的文件名 鏡像名 # 鏡像解壓 docker load -i 文件路徑/備份文件 https://blog.51cto.com/u_16213417/7033463 容器與主機(jī)共享文件目錄,要寫絕對路徑,相對路徑無效。 docker run -it -v d:/workspace:/workspace tnn-convert https://blog.csdn.net/u013685264/article/details/123206169 docker容器與主機(jī)間的文件復(fù)制傳輸 #先查看容器的名稱: docker ps -a #復(fù)制容器文件到宿主機(jī): docker cp 31d53f6b5b40:/test.c test.c #復(fù)制主機(jī)文件到docker容器中根目錄: docker cp test.c 31d53f6b5b40:/ C、使用Docker創(chuàng)建arm交叉編譯環(huán)境 在cmd里執(zhí)行: docker pull ubuntu //從鏡像倉庫中拉取或者更新指定鏡像 docker run -it ubuntu //-i: 以交互模式運行容器,-t: 為容器重新分配一個偽輸入終端 在容器里執(zhí)行: exit //退出當(dāng)前容器 在cmd里執(zhí)行: docker ps -a 結(jié)果如下: docker start -i 9e878ba7bfd7 //以交互模式運行已關(guān)閉的容器
安裝gcc等工具鏈之前先更新系統(tǒng),在容器里執(zhí)行: apt update //更新Linux系統(tǒng)的包索引或包列表,它不會升級任何軟件包。 apt upgrade //將系統(tǒng)上所有過時的軟件包升級到最新版本。 apt install gcc apt install g++ apt install g++-arm-linux-gnueabihf apt install gcc-arm-linux-gnueabihf apt install make 在cmd里執(zhí)行: docker commit 9e878ba7bfd7 linux //從容器創(chuàng)建一個新鏡像 docker save -o linux.tar linux //將指定鏡像保存成tar歸檔文件 docker load -i linux.tar //在其他電腦導(dǎo)入使用docker save命令導(dǎo)出的鏡像 該文章在 2023/10/16 10:01:38 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |