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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

以下內容全文出自書目:《 Docker 進階與實戰 》

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

2. Docker 是一個典型的 C/S 架構的應用。

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

4. 容器以鏡像為基礎,同時又為鏡像提供了一個標準和隔離的執行環境。鏡像是這個運行環境的靜態體現。

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

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

? ? Docker 公司提供的官方 Registry 叫?Docker Hub 。鑒權認證保證了 Registry 訪問的安全性。

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

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

?

6.?Docker? 的安裝:

sudo ape-get install docker.io

7.?Docker? Container : 內核容器技術。自動構建時當前機器的配置不會影響鏡像的構建過程。

? ? Docker? 容器與主機共享操作系統內核。

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

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

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

11. 容器組成公式:

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

12. $$ 表示當前進程。

13. IPC 是 Inter - Process Communication 的簡寫:進程間通信。

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

ip netns delete new_ns

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

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

17. 導入鏡像有 2 個可用命令:

docker import / docker load 。 docker load? 一般只用于導入由 docker save 導出的鏡像。

18.生成鏡像方式:

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

19. 列出容器:

docker ps

20. 列出鏡像:

docker images?

21. 查看容器和鏡像詳細信息:

docker inspect

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

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

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

25. “ env ”? : 容器啟動時會作為容器的環境變量。“ Cmd ” : 容器啟動時的默認命令。

26.?Docker? image 可使用寫時復制,快并節省空間。

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

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

29. 沙盒:隔離的網絡運行環境,保存了容器網絡棧的配置,包括了對網絡接口、路由表和 DNS 配置的管理。

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

? ? ? -v 會在容器的 /tmp/data 目錄下創建一個新的數據卷。

? ? ? 可用 docker Inspet 查看數據卷在主機中的位置。

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

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

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

31. 在本機部署 Convoy 插件后可用 Convoy 創建一個卷: ( 見書?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 文件的大小、進程數據段的大小、可創建文件的大小、常駐內存集的大小 、打開文件的數量、進程棧的大小、CPU 時間 、單個用戶最大線程數、進程最大虛擬內存

33. Docker 可設置容器的根文件系統為只讀模式。

34.?Dockerfile 由四部分組成:

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

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

? ? ?可以寫多個? FROM 指令來構建復雜鏡像。? ? ?

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

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

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

36.?Docker run 命令中用 -p 實現端口映射。

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

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

38. docker-compose-yml 文件中:

1. “ ports?” 對應 docker run 中的 -p 參數。2. “ volumes ” 對應 -v 選項。3. “ links ” 對應 “ --links ” 選項。

39.搭建 Jenkins 環境有 2 種方式:

? ? ?1) 直接在主機中配置 Jenkins 環境 。

? ? ?2) 使用??Docker 鏡像配置 Jenkins 環境:

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

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。