国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker使用過程中的一些注意事項

2024-09-01 13:48:20
字體:
來源:轉載
供稿:網友

前言

Docker并不是一個新的技術,容器化也不是,早在2006年就陸續出現了LXC, OpenVZ,Jail等容器虛擬化技術,但是為什么Docker卻能異軍突起呢?Docker的核心是基于 Linux的CGroup、Namespace和LayeredFS技術,通過資源的控制、隔離和對鏡像的分層處理,是Docker容器能夠將應用程序和運行環境打包到一起,這樣就可以Build, Ship And Run anywhere。與其說是Docker火,不如說是其天生的輕量級屬性,正好迎合了云計算大行其道的今天。因此,筆者認為Docker改變整個云計算和互聯網的格局是遲早的事,但是Docker在使用中,需要注意哪些事項呢?

一、掛載 volumes

docker run 的時候,如果需要掛載宿主機的某個目錄,可以這樣

docker run -it -v <host-path>:<container-path> <image>

這里要注意以下幾個地方:

     1、 <host-path><container-path> 都必須是目錄

     2、 <container-path> 必須是容器中的絕對路徑

     3、 <host-path> 路徑如果不存在,執行完成之后,docker 會給宿主機創建該目錄; <host-path>可以使用相對路徑,但是相對的并不是當前的工作目錄,而是 /var/lib/docker/volumes/

     4、如果只有一個路徑,比如 docker run -it -v <path> <image> ,這種情況叫做匿名掛載, <image>表示的是 container 中的位置,宿主機會在 /var/lib/docker/volumes/ 下隨機創建一個目錄與 container 中的 <path> 對應

     5、不管以何種方式 mount,容器銷毀之后,由 -v 在宿主機上創建的目錄不會銷毀

     6、在 container 中可以修改掛載目錄下文件的屬性,并且在宿主機上查看時一樣會生效。但是需要注意一點,如果在 container 中修改了文件的 owner 為 John,在宿主機上產看的時候,該文件的 owner 不一定還是 John。但該文件的 uid 是一樣的,至于顯示的名稱不一樣,是因為 container 和 host 的 /etc/passwd 文件內容不同

以上結果都可以通過 docker inspect <container> 結果中的 Mounts 查看。

二、dockerfile 中的 ENTRYPOINT 和 CMD

看似一樣,都是實現 container 啟動命令,但是需要注意:

1、都有兩種方式,數組方式,以及 shell 方式

["sh", "-c", "echo hello"]sh -c 'echo hello'

2、ENTRYPOINT 除了指定 container 入口之外,更重要的作用是: 通過它可以讓一個 container 像一個 executable 一樣。比如

ENTRYPOINT ["/bin/sh"]

之后 build 出來的鏡像就像一個 sh 程序文件一樣,運行該 image,就像運行 sh 程序。

3、如果 ENTRYPOINT 指定了,并且采用了數組方式,即 ["exectable", "para1", "para2"] ,那么 CMD 指定的內容會被視為 ENTRYPOINT 數組中最后的一個參數

4、如果 ENTRYPOINT 使用 shell 方式,那么它會覆蓋所有的 CMD 以及 docker run 后面指定的 command

5、docker run 后面指定的 command 會取代 CMD 的內容

總結

以上就是為大家總結的一些個人在使用Docker時曾掉過的坑,希望分享出來讓大家在使用Docker的時候能避免這些問題,以上就是這篇文章的全部內容,希望對大家能有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信丰县| 慈溪市| 同江市| 婺源县| 大竹县| 合阳县| 罗田县| 安顺市| 嘉禾县| 克东县| 澄迈县| 开原市| 长垣县| 东兰县| 彭山县| 乐业县| 连江县| 通化市| 额济纳旗| 临汾市| 泗洪县| 清苑县| 八宿县| 鹿邑县| 石楼县| 汤原县| 遵义县| 宜兴市| 揭阳市| 鄂伦春自治旗| 鹤庆县| 鄯善县| 永济市| 清河县| 昌吉市| 涞源县| 惠安县| 镇原县| 达拉特旗| 洱源县| 龙游县|