新聞中心
一文詳解docker輕量級(jí)虛擬化,鏡像和容器
作者:黑貓編程 2023-02-28 18:06:08
云計(jì)算 對于一個(gè)服務(wù)器來說,大多數(shù)時(shí)候資源都是閑置狀態(tài),并沒有得到充分利用。所以,對于一些初創(chuàng)公司來說,還沒有穩(wěn)定業(yè)務(wù),就自建機(jī)房,配置大量服務(wù)器,還有高昂的運(yùn)維成本。

在昌都等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)營銷網(wǎng)站建設(shè),昌都網(wǎng)站建設(shè)費(fèi)用合理。
什么是虛擬化技術(shù)?
對于一個(gè)服務(wù)器來說,大多數(shù)時(shí)候資源都是閑置狀態(tài),并沒有得到充分利用。所以,對于一些初創(chuàng)公司來說,還沒有穩(wěn)定業(yè)務(wù),就自建機(jī)房,配置大量服務(wù)器,還有高昂的運(yùn)維成本。
因此,現(xiàn)在大多數(shù)公司在初期都將業(yè)務(wù)放到云端,需要多少資源,就租用相應(yīng)規(guī)模的服務(wù)器。云服務(wù)提供商會(huì)將服務(wù)器劃分成多份,并且相互隔離,這就是虛擬化技術(shù)。
比如,剛畢業(yè)的學(xué)生,開始工資不高,不僅無法買房,也租不起大的房子,很多選擇合租。房東將整個(gè)房子劃分成幾個(gè)單間,分別出租,這也類似于虛擬化的原理。
什么是Docker?
Docker是一個(gè)開源的容器引擎,它基于LXC容器技術(shù),使用Go語言開發(fā)。
源代碼托管在Github上,并遵從Apache2.0協(xié)議。
Docker采用C/S架構(gòu),其可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。
簡單來說:Docker就是一種快速解決生產(chǎn)問題的一種技術(shù)手段。
Docker是容器的一種,而容器不僅僅是Docker。
早期的虛擬化比如VMWare虛擬機(jī),一個(gè)虛擬機(jī)可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng)。但是,每個(gè)虛擬機(jī)都要虛擬化單獨(dú)的硬件資源,這樣,就會(huì)消耗更多的資源,主服務(wù)器可以虛擬化出的獨(dú)立空間就越小。
而容器技術(shù)最顯著的特點(diǎn)是所有容器都可以共有主服務(wù)器的硬件資源,這樣就使得容器更加輕量化,啟動(dòng)速度也更快。但是Docker只能支持Linux系統(tǒng),所有容器都共用一個(gè)Linux內(nèi)核。
容器:顧名思義,就是可以裝物品的東西。每個(gè)容器可以按照我們的需求裝物品,不同容器間相互隔離,攜帶方便。比如,一家人外出旅行,每個(gè)人都在自己的旅行包裝上自己需要的生活物品。
或者說生活中很痛苦的事情就是電腦系統(tǒng)重裝,要重復(fù)配置各種軟件,但是只要提前制作一個(gè)系統(tǒng)盤,把常用的軟件提前安裝好,重裝系統(tǒng)后自動(dòng)包括所有的軟件。
在云平臺(tái)上,容器裝載的物品就是不同應(yīng)用。比如,公司在A云平臺(tái)部署了自己的項(xiàng)目,現(xiàn)在發(fā)現(xiàn)B云平臺(tái)價(jià)格更加優(yōu)惠,性能也更好,直接將A云平臺(tái)容器打包切換到B云平臺(tái),而不需要重復(fù)配置環(huán)境,安裝軟件。
ubuntu安裝Docker
sudo apt install docker.io
docker --version
注冊Docker賬號(hào)
docker官網(wǎng):
doker加速器:在國內(nèi)使用docker的官方鏡像源,會(huì)因?yàn)榫W(wǎng)絡(luò)的原因,造成無法下載,或者一直處于超時(shí),所以我們使用 daocloud 的方法進(jìn)行加速配置。
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
查看國內(nèi)源:
Docker鏡像
Docker鏡像是一個(gè)只讀的文件,就類似于我們安裝操作系統(tǒng)時(shí)候所需要的那個(gè)iso光盤鏡像,通過運(yùn)行這個(gè)鏡像來完成各種應(yīng)用的部署。
通過 docker search ubuntu 查找鏡像:
如果獲取鏡像具體版本可以官網(wǎng)上搜索Ubuntu,點(diǎn)擊Tags,在后面搜索版本號(hào):
docker pull ubuntu:20.04 # 拉取鏡像
docker images # 列出本地所有鏡像
刪除鏡像:
docker image rm nginx
docker rmi django # 簡寫形式
鏡像資源改名操作:docker tag ubuntu:20.04 myubuntu:1.0
該操作會(huì)保留原有鏡像,不需要可以自行刪除。
壓縮鏡像,以后用到直接解壓:docker save -o ubuntu.tar ubuntu
導(dǎo)入ubuntu.tar壓縮包:docker load -i ubuntu.tar
查看指定鏡像歷史:docker image history ubuntu:20.04
容器命令
利用ubuntu20.04鏡像創(chuàng)建一個(gè)名為myrq的容器,并進(jìn)入容器,執(zhí)行/bin/bash:
docker run -it --name myrq ubuntu:20.04
exit退出容器:
利用鏡像ubuntu:20.04創(chuàng)建一個(gè)容器:docker create -it ubuntu:20.04
啟動(dòng)容器:docker start 容器
停止容器:docker stop 容器
重啟容器:docker restart 容器
列出本地所有容器:docker ps -a
創(chuàng)建并啟動(dòng)一個(gè)容器:docker run -itd ubuntu:20.04
進(jìn)入容器:docker attach 容器
掛起容器:先按Ctrl-p,再按Ctrl-q
在容器中執(zhí)行命令:docker exec 容器 命令
刪除容器(先關(guān)閉容器):docker rm 容器
將容器CONTAINER導(dǎo)出到本地文件xxx.tar中:docker export -o xxx.tar 容器
將本地文件xxx.tar導(dǎo)入成鏡像,并將鏡像命名為image_name:tag:docker import xxx.tar image_name:tag
通過容器生成的鏡像創(chuàng)建容器:run -it --name myrq4 ubuntu:1.0 /bin/bash
查看所有容器的統(tǒng)計(jì)信息,包括CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)等信息:docker stats
在本地和容器間復(fù)制文件:docker cp xxx CONTAINER:xxx 或 docker cp CONTAINER:xxx xxx
重命名容器:docker rename CONTAINER1 CONTAINER2
刪除所有已停止容器:docker container prune
批量刪除所有容器,先用命令列出所有容器id并賦值給變量a:
強(qiáng)制刪除所有容器:
# run.sh
a=$(docker ps -a -q)
docker rm -f $a
當(dāng)前名稱:一文詳解Docker輕量級(jí)虛擬化,鏡像和容器
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/cdcgeip.html


咨詢
建站咨詢
