Docker 是一款流行的容器化平臺,可以在不同的操作系統上運行,并且可以從一個鏡像來創建多個容器實例。然而一個容器實例與其宿主機(Host)系統有一些不同,下面讓我們看看其中的異同點:
文件系統:容器實例與宿主機運行的操作系統是不同的,因此其文件系統也不同。在容器內部,其文件系統與宿主機的文件系統是隔離的,也就是說,容器內部的文件無法直接訪問宿主機上的文件系統。相反,容器內部存在自己的文件系統,容器內的文件對于容器外來說是不可見的
docker run -it ubuntu /bin/bash
網絡:互聯網是由一些物理連接組成的,而容器網絡則是由 Docker 網絡設備和網絡連接器來組成的。Docker 主機內部的容器可以使用 Docker Daemon 創建的網絡進行通信。容器之間可以共用公共網絡或者是專用于容器的網絡。對于 Docker 主機外部的網絡,則需要 Docker 配置節點和路由來實現。
docker network create my-network docker run -it --network=my-network ubuntu /bin/bash
資源限制:容器與其宿主機(Host)可以共享內存、CPU 和其他資源。然而由于容器是受到 Docker 守護程序管理的,因此其資源限制是可以被限制的。
docker run -it --cpus 1 ubuntu /bin/bash docker run -it --memory 256m ubuntu /bin/bash
總結:由于Docker的存在,使得軟件程序變得更加輕便和便于移植。容器本身與宿主機有著很明顯的差別,比如文件系統、網絡和資源限制,但容器與宿主機也可通過一些設置連通起來。對于使用 Docker 進行開發和部署的人員,必須了解這些差異并作出相應的調整。
上一篇mysql語法教程
下一篇gson解析多層json