Dockerfile看這篇就夠了

2021-10-10 13:17:56 字數 1707 閱讀 6691

dockerfile是用來構建docker映象的構建檔案,是由一系列命令和引數構成的指令碼。

構建三步驟

1.編寫dockerfile檔案;2.docker build;3.docker run

1、每條保留字指令都必須為大寫字母且後面要跟隨至少乙個引數;

2、指令按照從上到下,順序執行;

3、表示注釋;

4、每條指令都會建立乙個新的映象層,並對映象進行提交。

(1)docker從基礎映象執行乙個容器;

(2)執行一條指令並對容器作出修改;

(3)執行類似docker commit的操作提交乙個新的映象層;

(4)docker再基於剛提交的映象執行乙個新容器;

(5)執行dockerfile中的下一條指令直到所有指令都執行完成;

從應用軟體的角度來看,dockerfile、docker映象與docker容器分別代表軟體的三個不同階段,

from:基礎映象,當前新映象是基於哪個映象的;

maintainer:映象維護者的姓名和郵箱位址;

run:容器構建時需要執行的命令;

expose:當前容器對外暴露出的埠;

workdir:指定在建立容器後,終端預設登陸的進來工作目錄,乙個落腳點

env:用來在構建映象過程中設定環境變數;

add:將宿主機目錄下的檔案拷貝進映象且add命令會自動處理url和解壓tar壓縮包;

copy:類似add,拷貝檔案和目錄到映象中。

將從構建上下文目錄中 《源路徑》 的檔案/目錄複製到新的一層的映象內的 《目標路徑》 位置;

volume:容器資料卷,用於資料儲存和持久化工作

cmd:指定乙個容器啟動時要執行的命令,dockerfile 中可以有多個 cmd 指令,但只有最後乙個生效,cmd 會被 docker run 之後的引數替換;

entrypoint :指定乙個容器啟動時要執行的命令,entrypoint 的目的和 cmd 一樣,都是在指定容器啟動程式及引數;

onbuild:當構建乙個被繼承的dockerfile時執行命令,父映象在被子繼承後父映象的onbuild被觸發。

hub預設centos映象什麼情況

docker build -t 新映象名字:tag .(點之前還有個空格,千萬別忘記啊,浪費了我好多時間)

Python Web不知道怎麼學?看這篇就夠了

python有很多作用,接觸過python的朋友肯定知道其幾乎無所不能,前端 後端 資料 ml ai 自動化 爬蟲 資料分析,人工智慧等等。第一階段 python入門 框架再怎麼變,基本語法不會變,基礎中的基礎 資料型別 迴圈判斷 常用模組 函式 迭代器 裝飾器 遞迴 迭代 反射 物件導向程式設計 ...

6 精通MATLAB運算方法看這篇文章就夠了

學習目標 學習經常使用的運算方法 大於,小於,等於,不等於 clear all a 7 5 b1 rand 2,2 b2 b1 0.6 b3 b1 0.7 c1 eq b2,b3 c2 b2 b3 比較大小 clear all format long a 4.44 eps b 4.44 c1 a b...

2 精通MATLAB資料型別看這篇文章就夠了

學習目標 1 資料型別的強制轉換,數值範圍 2 取整函式的使用學習 3 複數的使用學習 clear all shu 66 雙精度浮點型,強制轉換成整型 shu8 int8 shu shu16 int16 shu shu32 int32 shu shu64 int64 shu zifuchuan da...