Dockerfile 常用指令:
1) FROM : FROM 鏡像指令指明了目前鏡像繼承的基鏡像,編譯目前鏡像時會自動下載下傳基鏡像 ,如果不指定映像url 則從docker hub 上擷取。 e.g : FROM ubuntu
2) MAINTAINER :MAINTAINER 指令 指定了目前鏡像的作者及聯系方式。e.g : MAINTAINER: caiqiufang
3)RUN : RUN 指令可以在目前鏡像上執行Linux 指令并形成一個新的層,RUN 是編譯時(build) 的動作,在docker 指令中運作的shell 指令,等價于docker run <image> <command> 示例可以是如下兩種,CMD 和 ENTRYPOINT也是如此 e.g : RUN /bin/bash -c "echo helloworld" or RUN {"/bin/bash", "-c" ,"echo helloworld"}
4) CMD : CMD 指令指明了啟動鏡像容器時的預設行為(docker 容器運作時的預設指令),一個Dockerfile 裡隻有一個CMD 指令,CMD 指令裡設定的指令可以在運作鏡像時使用參數覆寫,CMD 是 運作時(run)的動作。 e.g : CMD echo "this is a test" 正如上所說可以被運作時的參數覆寫,如下: docker run -d imag_name echo "this is not a test"。
5)EXPOSE : 指明了鏡像運作時的容器必須監聽的端口 e.g : EXPOSE 8080
6) ENV : 用來設定環境變量 e.g : ENV myname = caiqiufang or ENV myname caiqiufang。
7) ADD : ADD 指令是指從目前工作目錄複制檔案到鏡像目錄中去。 e.g : ADD test.txt /mydir/
8) ENTRYPOINT : ENTRYPOINT 指令可以讓容器像一個可執行程式一樣運作,這樣鏡像運作時可以像軟體一樣 接收參數執行。ENTRYPOINT 是運作(run)時的動作 e.g : ENTRYPOINT {"/bin/echo"} ,那麼我們可以向鏡像傳遞參數運作 docker run -d image_name "this is a test"
9) WORKDIR <path>: 指定RUN, CMD, ENTRYPOINT 等指令運作的工作路徑