亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

docker鏡像區分cpu架構么

docker鏡像區分cpu架構么

慕萊塢森 2019-05-10 07:06:18
docker鏡像區分cpu架構么
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

要理解Docker鏡像和Docker容器之間的區別,確實不容易。
假設Linux內核是第0層,那么無論怎么運行Docker,它都是運行于內核層之上的。這個Docker鏡像,是一個只讀的鏡像,位于第1層,它不能被修改或不能保存狀態。
一個Docker鏡像可以構建于另一個Docker鏡像之上,這種層疊關系可以是多層的。第1層的鏡像層我們稱之為基礎鏡像(Base Image),其他層的鏡像(除了最頂層)我們稱之為父層鏡像(Parent Image)。這些鏡像繼承了他們的父層鏡像的所有屬性和設置,并在Dockerfile中添加了自己的配置。
Docker鏡像通過鏡像ID進行識別。鏡像ID是一個64字符的十六進制的字符串。但是當我們運行鏡像時,通常我們不會使用鏡像ID來引用鏡像,而是使用鏡像名來引用。要列出本地所有有效的鏡像,可以使用命令



查看完整回答
反對 回復 2019-05-11
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

一、Docker鏡像

要理解Docker鏡像和Docker容器之間的區別,確實不容易。

假設Linux內核是第0層,那么無論怎么運行Docker,它都是運行于內核層之上的。這個Docker鏡像,是一個只讀的鏡像,位于第1層,它不能被修改或不能保存狀態。

一個Docker鏡像可以構建于另一個Docker鏡像之上,這種層疊關系可以是多層的。第1層的鏡像層我們稱之為基礎鏡像(Base
Image),其他層的鏡像(除了最頂層)我們稱之為父層鏡像(Parent
Image)。這些鏡像繼承了他們的父層鏡像的所有屬性和設置,并在Dockerfile中添加了自己的配置。

Docker鏡像通過鏡像ID進行識別。鏡像ID是一個64字符的十六進制的字符串。但是當我們運行鏡像時,通常我們不會使用鏡像ID來引用鏡像,而是使用鏡像名來引用。要列出本地所有有效的鏡像,可以使用命令
# docker images

鏡像可以發布為不同的版本,這種機制我們稱之為標簽(Tag)。

如上圖所示,neo4j鏡像有兩個版本:lastest版本和2.1.5版本。

可以使用pull命令加上指定的標簽:
# docker pull ubuntu:14.04
# docker pull ubuntu:12.04

二、Docker容器

Docker容器可以使用命令創建:
# docker run imagename

它會在所有的鏡像層之上增加一個可寫層。這個可寫層有運行在CPU上的進程,而且有兩個不同的狀態:運行態(Running)和退出態(Exited)。這就是Docker容器。當我們使用docker
run啟動容器,Docker容器就進入運行態,當我們停止Docker容器時,它就進入退出態。

當我們有一個正在運行的Docker容器時,從運行態到停止態,我們對它所做的一切變更都會永久地寫到容器的文件系統中。要切記,對容器的變更是寫入到容器的文件系統的,而不是寫入到Docker鏡像中的。

我們可以用同一個鏡像啟動多個Docker容器,這些容器啟動后都是活動的,彼此還是相互隔離的。我們對其中一個容器所做的變更只會局限于那個容器本身。

如果對容器的底層鏡像進行修改,那么當前正在運行的容器是不受影響的,不會發生自動更新現象。

如果想更新容器到其鏡像的新版本,那么必須當心,確保我們是以正確的方式構建了數據結構,否則我們可能會導致損失容器中所有數據的后果。

64字符的十六進制的字符串來定義容器ID,它是容器的唯一標識符。容器之間的交互是依靠容器ID識別的,由于容器ID的字符太長,我們通常只需鍵入容器ID的前4個字符即可。當然,我們還可以使用容器名,但顯然用4字符的容器ID更為簡便。





查看完整回答
反對 回復 2019-05-11
  • 2 回答
  • 0 關注
  • 765 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號