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檔案:
然後就可以執行我們的映象檔案愉快的玩耍了