Docker相關概念及要點

2021-09-21 13:10:21 字數 1555 閱讀 7786

1.基本概念

docker 的容器通過 linux 的命名空間完成了與宿主機程序的網路隔離。

docker 為我們提供了四種不同的網路模式,host、container、none 和 bridge 模式。

docker 預設的網路設定模式:網橋模式。

我們通過 linux 的命名空間為新建立的程序隔離了檔案系統、網路並與宿主機器之間的程序相互隔離,但是命名空間並不能夠為我們提供物理資源上的隔離,比如 cpu 或者記憶體,如果在同一臺機器上執行了多個對彼此以及宿主機器一無所知的『容器』,這些容器卻共同占用了宿主機器的物理資源。

control groups(簡稱 cgroups)就是能夠隔離宿主機器上的物理資源,例如 cpu、記憶體、磁碟 i/o 和網路頻寬。

容器和映象的區別就在於,所有的映象都是唯讀的,而每乙個容器其實等於映象加上乙個可讀寫的層,也就是同乙個映象可以對應多個容器。

2.dockerfile編寫要點

dockerfile 一般分為四部分:基礎映象資訊、維護者資訊、映象操作指令和容器啟動時執行指令,』#』 為 dockerfile 中的注釋。

2.1基礎映象資訊

指定基礎映象,並且必須是第一條指令。

from :

例:from snapshot-docker.artnj.***.com.cn/***/jdk:1.0.0

2.2維護者資訊

指定作者

maintainer

例: maintainer alexzhang

2.3映象操作指令

runrun

run [「executable」, 「param1」, 「param2」]

注意:多行命令不要寫多個run,原因是dockerfile中每乙個指令都會建立一層.

多少個run就構建了多少層映象,會造成映象的臃腫、多層,不僅僅增加了構件部署的時間,還容易出錯。

run書寫時的換行符是\

3.docker常用命令

基礎:檢視docker版本資訊:docker version

檢視本地已有映象:docker images

檢視所有容器:docker ps

檢視正在執行的容器:docker ps -a

刪除映象:docker rmi 映象id

製作映象:(進入dockerfile所在資料夾)docker build -t 映象名稱:tag

拉取基礎映象到本地:docker pull docker.***.com.cn/***/centos:7.2.1511

推送映象到遠端:docker push docker.***.com.cn/***/centos:7.2.1511

高階:強制刪除所有容器:docker rm -f $(docker ps -a|grep -v container | awk 『』)

強制刪除所有映象:docker rmi -f $(docker images | awk 『』)

停止所有的容器:docker stop $(docker ps -a -q)

刪除所有none映象:docker rmidocker images | grep "" | awk ''

About Hive相關概念及HiveQL操作

root bdpdatanode01 hive e select count 1 from prod bdw.dwd calendar root bdpdatanode01 hive s e select count 1 from prod bdw.dwd calendar 1 託管表和外部表 2 ...

nbd 相關概念及操作

周五 3月6號 筆者發現有台物理機上掛載了乙個並非常用的nbd裝置,估計是之前人做的測試留下來的,決定解除安裝它,順帶了解了下nbd的裝置資訊。什麼是nbd 全稱是network block device,類似於nfs,遠端裝置可以掛載,只不過掛載的不再是檔案系統,而是塊裝置。nbd一般分為clie...

docker相關概念

作為一種新興的虛擬化方式,docker 跟傳統的虛擬化方式相比具有眾多的優勢。首先,docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機器方式要快得多。其次,docker 對系統資源的利用率很高,一台主機上可以同時執行數千個 docker 容器。容器除了執行其中應用外,基本不消耗額外的系統資源...