由命令語句組成。#爲註釋。分四部分,基礎鏡像信息,維護者信息,鏡像操做指令,容器啓動時執行指令。nginx
from ubuntudocker
maintainer user user@email.comubuntu
run echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list緩存
run apt-get update && apt-get install -y nginx學習
run echo "\ndaemon off;" >> /etc/nginx/nginx.confui
cmd /usr/sbin/nginxget
鏡像操做指令,run指令,執行跟隨命令,每run一條指令,鏡像就新添加一層,並提交。最後是cmd指令,指定運行容器時的操做命令。cmd
dockerfile指令說明。dockerfile
建立鏡像。docker build -t build_repo/first_image /tmp/docker_builder 指定了生成標籤,以及dockerfile所在路徑。將內容發給docker服務端,在那裏生成鏡像。test
定製本身合適的鏡像。學習如何寫高效的dockerfile。
精簡鏡像用途
選用合適的基礎鏡像如debian鏡像
足夠清晰的命令註釋和維護者信息
使用正確的版本號而不是latest
減小鏡像層數
及時刪除臨時文件和緩存文件,在apt-get後/var/cache/apt下會有緩存包
提升生成速度
調整合理的指令順序
減小外部源干擾
高度定製化的神器。