Docker 是一種廣泛使用的容器化技術(shù),它是一種輕量化的虛擬化技術(shù),能夠?qū)④浖约捌渌蕾嚨慕M件打包成一個(gè)可移植、可隔離、可共享的容器。
Pod 是 Kubernetes 中的概念,它是由一組容器共享網(wǎng)絡(luò)和存儲(chǔ)資源的最小部署單元,是對(duì)集群中容器的一個(gè)抽象。在 Pod 中,容器之間通過 localhost 進(jìn)行通信,共享同一份網(wǎng)絡(luò)命名空間和存儲(chǔ)卷。
$ cat pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
在上述的 Pod 配置文件中,我們定義了一個(gè)由單個(gè)容器組成的 Pod,容器使用的鏡像是 nginx,暴露了容器內(nèi)部的 80 端口。
正如上述示例所示,Docker 和 Pod 存在相輔相成的關(guān)系。Docker 提供了輕量化的虛擬化技術(shù),能夠?qū)④浖约捌渌蕾嚨慕M件打包成一個(gè)可移植、可隔離、可共享的容器,而容器則成為 Pod 的基本組成部分。Pod 作為 Kubernetes 中的最小部署單元,能夠容納一個(gè)或多個(gè)容器,成為 Kubernetes 對(duì)集群中容器的一個(gè)抽象。