1. 程式人生 > >docker - 構建映象(Dockerfile檔案)

docker - 構建映象(Dockerfile檔案)

        通過Dockerfile檔案可以很方便的構建我們所需的映象,我理解的該方式的原理:將在終端執行的各種命令寫入Dockerfile檔案,在執行構建命令時docker會將這些命令翻譯為終端命令執行完成構建。Dockerfile檔案通常由以下部分構成:

(1)FROM image_name    //指定構建的基礎映象

(2)MAINTAINER name    //指定構建人

(3)ADD fileName 目錄 //將宿主機中的指定檔案新增到映象的指定目錄

(4)ENV key value            //配置環境變數,例如jdk等

(5)RUN:                     //映象構建過程中執行的命令,通常執行一些下載檔案的命令

           a.    方式一: RUN+終端命令   //如:RUN sudo apt-get update或RUN echo "123"

           b.    方式二:RUN ["可執行命令","引數1"..."引數n"]      //如:RUN ["echo","123"]

            注:Dockerfile命令每執行一條即產生一個新的映象,當前命令總是在最新的映象上執行,如果要執行的第二個RUN命令是在第一條的基礎上執行就會出問題,所以要同時執行多條命令採用以下格式:

                RUN 命令1 && 命令2...     //如:RUN echo 123 && echo 456

(6)CMD:            //映象構建完成第一次啟動時執行的命令,比如啟動軟體或者執行jar包等

            a.    方式一:CMD  + 終端命令  

            b.    方式二:CMD ["可執行命令","引數1"..."引數n"] 

(7)ENTRYPOINT:配置容器,使其可執行化,一個Dockerfile檔案中只能有一個該語句,與CMD命令基本一樣,不同的是通過 docker run執行的命令不會覆蓋該命令。

     a. 方式一: ENTRYPOINT + 終端命令             

     b. 方式二:ENTRYPOINT ["可執行命令","引數1"..."引數n"] 

接下來構建我們的映象:docker build -t imageName 路徑

        

再通過docker images檢視時我們的映象檔案已經生成了,需要注意執行構建語句時最後一個引數是映象構建的目錄,必須加,"."表示當前資料夾。下面貼上我的Dockerfile檔案:

                

        然後就可以執行我們的映象檔案愉快的玩耍了羨慕