docker--dockerfile

dockerfile的構建過程

從基礎鏡像構建一個容器
執行一條指令,對容器作出修改
執行相似docker commit 的操做
再基於剛提交的鏡像運行一個新容器
執行Dockerfile中下一條指令,直至全部的指令執行完畢

form

form <image>
form <image>:<tag>
form指令必須是第一條非註釋的指令
maintainer
maintainer <name> 
指定鏡像的做者信息,包含鏡像的全部者和聯繫信息  //這個是否是要不要都行啊,要這個有鳥用啊

run

run <command> (shell模式)   //默認的/bin/bash
run ["executable","param1","param2"]  (exec模式)
run ["/bin/bash","-c","echo hello"]

expose

expose <port> [<port>]
//這個expose並不會再執行的時候自動打開相應的端口,這個只是告訴程序員,應該用這個端口來運行,擦

cmd

提供容器啓動時執行的默認命令
cmd ["executable","param1","param2"] (exec模式)
cmd command param1 param2 (shell模式)
cmd ["param1","param2"](做爲entrypoint指令的默認參數)
cmd指令用於執行容器執行的默認行爲,若是docker run的時候使用了其餘指令,那麼cmd命令會被覆蓋

enterypoint

entrypoint ["executable","param1","param2"] (exec模式)
entrypoint command param1 param2 (shell模式)
entrypoint的命令不會被docker run的啓動命令覆蓋,可是能夠使用docker run --entrypoint進行覆蓋

volume

volume["/data"] 向docker建立的容器添加捲,這個卷能夠跳過聯合文件系統,提供共享數據,或數據持久化的功能

workdir

再容器的內部默認工做目錄,cmd等命令會再這個路徑下執行命令,workdir一般會使用絕對路徑,若是使用了相對路徑,那麼工做路徑會一直傳遞下去程序員

env

env <key><value>
env <key>=<value>

user

user daemon 用戶會以一個什麼身份取運行

onbuild 鏡像觸發器

onbuild[instruction]
當一個 鏡像被其餘鏡像做爲基礎鏡像時執行(要充分理解這句話)
會在構建過程當中插入指令
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息