十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章給大家分享的是有關(guān)docker鏡像和容器的關(guān)系是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
濟源網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,濟源網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為濟源上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的濟源做網(wǎng)站的公司定做!
docker 鏡像和容器的關(guān)系是什么?容器是鏡像的實例,先描述鏡像,再創(chuàng)建容器,所以容器可以有多個。鏡像是一個只讀的文件系統(tǒng),在本地會共用,主要是通過簽名來實現(xiàn)的,類似于存儲里面的De-dup技術(shù)。
每運行一個容器,會在鏡像上加一個可寫層,但這一層并不會改變鏡像本身,這也就是為什么有時候你用同一個鏡像啟動多個容器,里面的內(nèi)容是不會變的。如果你要將可寫層持久化,就要通過 commit命令來把這個可寫層寫到磁盤上,即生成新的鏡像。
總的來說,鏡像是文件, 容器是進程。容器是基于鏡像創(chuàng)建的,即容器中的進程依賴于鏡像中的文件,這里的文件包括進程運行所需要的可執(zhí)行文件、依賴軟件、庫文件、配置文件等等。
假設(shè),你需要把nginx(web服務(wù)器)運行在docker容器中, 則第一步要下載nginx鏡像:
sudo docker pull nginx
下載nginx鏡像之后可以查看Docker鏡像:
sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 0d409d33b27e 2 weeks ago 182.7 MB
事實上, nginx鏡像并非一個單獨的文件,而是具有層級結(jié)構(gòu):
sudo docker history nginx IMAGE CREATED CREATED BY SIZE COMMENT 0d409d33b27e 2 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon o 0 B2 weeks ago /bin/sh -c #(nop) EXPOSE 443/tcp 80/tcp 0 B 2 weeks ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/ 0 B 2 weeks ago /bin/sh -c apt-key adv --keyserver hkp://pgp. 57.67 MB 2 weeks ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.11.1-1~ 0 B 3 weeks ago /bin/sh -c #(nop) MAINTAINER NGINX Docker Mai 0 B 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B 3 weeks ago /bin/sh -c #(nop) ADD file:5d8521419ad6cfb695 125.1 MB
可知, nginix鏡像一共有8層, 其中, 第1層為125.1MB, 第5層為57.67MB, 其他層的大小可以忽略。
將nginx運行在Docker容器中:
sudo docker run -itd \ -p 80:80 \ --name=nginx \ nginx
查看nginx容器
sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 263e88fc53d3 nginx "nginx -g 'daemon off" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, 443/tcp nginx
可知, nginx容器運行成功。
以上就是docker鏡像和容器的關(guān)系是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。