日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《 Docker 进阶与实战 》 读书笔记

發(fā)布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《 Docker 进阶与实战 》 读书笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到教程。

以下內(nèi)容全文出自書目:《 Docker 進(jìn)階與實戰(zhàn) 》

1. Docker 定義:一個開源的容器引擎,可以方便地對容器進(jìn)行管理,不同容器可以共享底層的只讀鏡像。

2. Docker 是一個典型的 C/S 架構(gòu)的應(yīng)用。

3.?Docker deamon 可以被理解成?Docker? Server ,也常常用?Docker? Engine 來描述它。

4. 容器以鏡像為基礎(chǔ),同時又為鏡像提供了一個標(biāo)準(zhǔn)和隔離的執(zhí)行環(huán)境。鏡像是這個運行環(huán)境的靜態(tài)體現(xiàn)。

5. Registry 是存放鏡像的倉庫,通常被部署在服務(wù)器或者云端。支持鏡像的分發(fā)和更新。

? ? 倉庫的名字通常由兩部分組成,中間以斜線分開,前是用戶名,后是鏡像名。如:tom/ubuntu 。

? ? Docker 公司提供的官方 Registry 叫?Docker Hub 。鑒權(quán)認(rèn)證保證了 Registry 訪問的安全性。

? ? 若要將鏡像 push 到第三方 Registry , 那么鏡像名中必須包含該 Registry 地址。

? ? 其實 Registry 也是一個單獨的開源項目。任何人都可以下載后部署一個自己的 Registry 。

?

6.?Docker? 的安裝:

sudo ape-get install docker.io

7.?Docker? Container : 內(nèi)核容器技術(shù)。自動構(gòu)建時當(dāng)前機器的配置不會影響鏡像的構(gòu)建過程。

? ? Docker? 容器與主機共享操作系統(tǒng)內(nèi)核。

8. 容器虛擬化是一種操作系統(tǒng)虛擬化,屬于輕量級的虛擬化。

9. Namespace : 命名空間 / 名字空間,主要作訪問隔離。將內(nèi)核的全部資源作封裝,使得每個空間有一份獨立資源,不同進(jìn)程在各自空間內(nèi)對同一種資源的使用不會相互干擾。

10. Cgroup? 是 Control group 的簡稱,亦稱為控制組,主要作資源控制。用于限制和隔離一組進(jìn)程對系統(tǒng)資源的使用。

11. 容器組成公式:

容器 = cgroup + namespace + rootfs + 容器引擎(用戶態(tài)工具)Cgroup : 資源控制Namespace : 訪問隔離rootfs :文件系統(tǒng)隔離容器引擎 :生命周期控制

12. $$ 表示當(dāng)前進(jìn)程。

13. IPC 是 Inter - Process Communication 的簡寫:進(jìn)程間通信。

14. Mount Namespace 用于隔離文件系統(tǒng)掛載點,刪除方式:

ip netns delete new_ns

15. host 的普通用戶進(jìn)程在容器里可以是 0 號用戶,也就是 root 用戶。

16.?Docker? image 是用來啟動容器的只讀模板。

17. 導(dǎo)入鏡像有 2 個可用命令:

docker import / docker load 。 docker load? 一般只用于導(dǎo)入由 docker save 導(dǎo)出的鏡像。

18.生成鏡像方式:

docker commit :可增量的生成一個鏡像。docker build : 通過 dockerfile 文件生成鏡像。

19. 列出容器:

docker ps

20. 列出鏡像:

docker images?

21. 查看容器和鏡像詳細(xì)信息:

docker inspect

22. Docker images 包含數(shù)據(jù)必要的元數(shù)據(jù)。數(shù)據(jù)由一層層的 image layer 組成,元數(shù)據(jù)則是一些 JSON 文件。用來描述數(shù)據(jù)(image layer)之間的關(guān)系及容器的一些配置信息。

23.?Docker? 對鏡像進(jìn)行了完整性校驗,其完整性的憑證是由鏡像倉庫提供的。

24. image ID 實際上只是最上層的 layer ID,所以?Docker? inspect 也適用于任何一層 layer 。

25. “ env ”? : 容器啟動時會作為容器的環(huán)境變量?!?Cmd ” : 容器啟動時的默認(rèn)命令。

26.?Docker? image 可使用寫時復(fù)制,快并節(jié)省空間。

27. 若制作 image 時使用到了上些關(guān)鍵信息(賬號、密碼等),則需要在同層刪除,不然這些信息會一直存在于 image 中。

28. 若下載鏡像不帶標(biāo)簽,會把 ubuntu 倉庫下官方(默認(rèn) tag )鏡像全部下載。

29. 沙盒:隔離的網(wǎng)絡(luò)運行環(huán)境,保存了容器網(wǎng)絡(luò)棧的配置,包括了對網(wǎng)絡(luò)接口、路由表和 DNS 配置的管理。

30. docker create 、 docker run 可帶參數(shù):-v : 添加數(shù)據(jù)卷,并可多次指定來掛載多個數(shù)據(jù)卷。

? ? ? -v 會在容器的 /tmp/data 目錄下創(chuàng)建一個新的數(shù)據(jù)卷。

? ? ? 可用 docker Inspet 查看數(shù)據(jù)卷在主機中的位置。

? ? ? -v 也可將?Docker? daemon 所在主機上的文件或文件夾掛載到容器中。

? ? ? -v 參數(shù)的主機目錄必須使用絕對路徑,若指定路徑不存在,?Docker 會自動創(chuàng)建該目錄。

? ? ? ?使用數(shù)據(jù)卷容器存儲的數(shù)據(jù)不會輕易丟失,刪除容器、甚至是初始化該數(shù)據(jù)卷的 dbdata ,該數(shù)據(jù)卷也不會被刪除。

31. 在本機部署 Convoy 插件后可用 Convoy 創(chuàng)建一個卷: ( 見書?P103 )

sudo convoy create volume_name

刪除:

sudo convoy delete volume_name

備份:

sudo convoy backup create snaplvoll --dest vfs:///opt/convoy/

32. Linux 的命令 ulimit 可對一些資源起限制作用,包括:

core dump 文件的大小、進(jìn)程數(shù)據(jù)段的大小、可創(chuàng)建文件的大小、常駐內(nèi)存集的大小 、打開文件的數(shù)量、進(jìn)程棧的大小、CPU 時間 、單個用戶最大線程數(shù)、進(jìn)程最大虛擬內(nèi)存

33. Docker 可設(shè)置容器的根文件系統(tǒng)為只讀模式。

34.?Dockerfile 由四部分組成:

基礎(chǔ)鏡像信息、維護者信息、鏡像操作指令、容器啟動命令

? ? ?其第一條有效信息必須是基礎(chǔ)鏡像信息: FROM 指令。用來指定要制作的鏡像繼承自哪個鏡像。

? ? ?可以寫多個? FROM 指令來構(gòu)建復(fù)雜鏡像。? ? ?

EXPOSE : 暴露端口CMD :容器啟動時執(zhí)行的命令。每個 Dockerfile 只能有一條 CMD 命令,寫了多條時只有最后一條會被執(zhí)行。若用戶啟動容器時指定了運行命令,則會覆蓋 CMD 指定命令。VOLUME :創(chuàng)建一個可從本地主機或其它容器掛載的掛載點。常用來存放數(shù)據(jù)庫或需要永久保存的數(shù)據(jù)。ENV :指定一個環(huán)境變量。被后續(xù) RUN 命令使用并在容器運行時保持。

35.?Docker 制作鏡像的順序:

1. 解析 Dockerfile,找到基礎(chǔ)鏡像。2. 以基礎(chǔ)鏡像為基礎(chǔ),創(chuàng)建一個容器。3. 在容器中按順序執(zhí)行 Dockerfile 中的命令。4. 若不是 RUN 命令,如 ENV 命令,記錄下來以便啟動時執(zhí)行。5. 把屬性命令記錄在 Image 的屬性中。6. 所有命令執(zhí)行完后,commit 該容器為新的鏡像。

36.?Docker run 命令中用 -p 實現(xiàn)端口映射。

? ? ? 80:8089? 表示將主機上的 80 端口映射到容器中的 8089 端口。(對外端口:容器內(nèi)端口)

37.?Docker build 命令可跟參數(shù) -f :指定 build 命令中的 “ dockerfile ”? 選項來設(shè)置所需的?Dockerfile 。

38. docker-compose-yml 文件中:

1. “ ports?” 對應(yīng) docker run 中的 -p 參數(shù)。2. “ volumes ” 對應(yīng) -v 選項。3. “ links ” 對應(yīng) “ --links ” 選項。

39.搭建 Jenkins 環(huán)境有 2 種方式:

? ? ?1) 直接在主機中配置 Jenkins 環(huán)境 。

? ? ?2) 使用??Docker 鏡像配置 Jenkins 環(huán)境:

1. 下載 Jenkins 鏡像: docker pull jenkins2. 啟動 Jenkins 容器: docker run -d -p 49001:8080 -t Jenkins-d : 后臺運行; -p : 端口映射; -t :給容器命名。

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的《 Docker 进阶与实战 》 读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。