1. 程式人生 > 其它 >如何使用DockerFile檔案生成映象

如何使用DockerFile檔案生成映象

技術標籤:docker容器化技術docker

如何使用DockerFile檔案生成映象

DockerFile引數含義
  • FROM:指定建立映象的基礎映象

  • MAINTAINER:Dockerfile作者資訊

  • ADD 指令和 COPY 的使用格式一致(同樣需求下,官方推薦使用 COPY)

    COPY:複製指令,從上下文目錄中複製檔案或者目錄到容器裡指定路徑

    ADD :在原始檔為 tar 壓縮檔案的話,壓縮格式為 gzip, bzip2 以及 xz 的情況下,會自動複製並解壓到 目標路徑

  • ENV:設定環境變數,定義了環境變數,那麼在後續的指令中,就可以使用這個環境變數,這個變數是全域性性的在容器中可以直接列印 echo $ENVIRONMENT

  • ARG: 與 ENV 作用域不一樣。ARG 設定的環境變數僅對 Dockerfile 內有效,構建好的映象內不存在此環境變數

  • WORKDIR:指定工作目錄。用 WORKDIR 指定的工作目錄

  • RUN和CMD類似

    RUN:執行Linux系統的命令使用,在 docker build時執行

    CMD 在docker run 時執行,如果 Dockerfile 中如果存在多個 CMD 指令,僅最後一個生效,較少使用

  • ENTRYPOINT:指定執行容器啟動過程執行命令

DockerFile樣例
FROM jfrog.test.com.cn/dev7-docker-/java_base (公司設定的基礎映象,根據個人設定)
WORKDIR /opt/portfolio-mgt (切換到映象容器中的指定目錄中相當於cd) COPY target/portfolio-mgt-core-*.jar app.jar (複製宿主機資料到映象內部使用) ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -XshowSettings:vm" (設定環境變數引數) ENV ENVIRONMENT="dev" RUN echo "ENV is $ENVIRONMENT
, JAVA_OPTS is $JAVA_OPTS $JAVA_DEBUG_OPTS"
ENTRYPOINT exec java $JAVA_OPTS -Denv=$ENVIRONMENT -jar /opt/app.jar(指定執行容器啟動過程執行命令)
如何使用DockerFile生成映象檔案

1、使用docker build進行映象的構建

​ 將DockerFile檔案和springboot專案的jar放到同一目錄下直接使用:

​ docker build -t nginx:v3 .

nginx:v3為構建的映象名稱,一般是(映象名稱:映象標籤)

注意後邊有個點,如果dockerfile和jar不在同一目錄下時,需要使用-f指定dockerfile檔案路徑

2、在docker執行時比如上傳了檔案,是上傳到docker容器目錄裡,把容器刪掉後文件丟失,因此需要將docker中的檔案存放目錄掛載到宿主機。

docker run 時使用-v引數指定掛載目錄

docker run -v (宿主機目錄 :docker中的目錄) 其他執行的引數接著加上就好

2021年的第一篇部落格,哈哈
在這裡插入圖片描述