dockerfile語法

dockerfiles的指令不區分大小寫,但約定爲所有大寫docker

dockerfiles支持以下語法命令:shell

1.FROM <image name>ubuntu

  全部的dockerfile都必須以from命令開始,from命令會指定鏡像基於哪一個基礎鏡像而建立緩存

  如:bash

  FROM ubuntuui

2.MAINTAINER <author name>code

  設置該鏡像的做者dockerfile

3.RUN <command>io

  在shell或者exec的環境下執行的命令,run指令會在新建立的鏡像添加新的層面,接下來提交的結果用在dockerfile的下一條指令中。table

4.ADD <src> <destination>

  複製文件指令,src爲啓動上下文中的一個文件或一個URL中的文件,destination是容器內的路徑

5.CMD ["executable","param1","param2" ]或CMD command param1 param2

  提供容器默認的執行命令,dockerfile只容許使用一次CMD命令,若是執行屢次,最後一次自動替換以前的。

6.EXPOSE <port>

  指定容器在運行時監聽的端口

7.ENTRYPOINT ["executable","param1","param2"]或ENTRYPOINT command param1  param2

  給容器指定一個默認的應用程序,這意味着用鏡像建立容器時,只運行指定的應用,相似於CMD命令,也是隻容許一個ENTRYPOINT,最後一個會抵消前面的。

8.WORKDIR <path>

  指定RUN,CMD,ENTRYPOINT命令的工做目錄

9.ENV <key> <value>

  設置環境變量

10.USER <uid>

  鏡像正在運行時設置一個UID

11.VOLUME ['/data']

  受權訪問從容器內到主機上的目錄

  在啓動容器時指定目錄使用 -v參數 -v 本地目錄:容器目錄,如把本機/code/aosp掛載到容器內的/aosp目錄:

  docker run -v /data/aosp:/aosp ubuntu

  i.e.若是要掛載多個目錄可屢次使用-v參數

 

 

使用如下命令來從Dockerfile構建鏡像

docker build [options] PATH | URL

options有

  --rm=true表示構建成功後,移除全部中間容器

  --no-cache=false 表示在構建過程當中不使用緩存

 

ENV 設置環境變量
ENV <key><value>
ENV指令能夠用於爲docker容器設置環境變量

ENV設置的環境變量,能夠使用 docker inspect命令來查看。同時還能夠使用docker run --env <key>=<value>來修改環境變量。

Note: 環境變量的設置要合理,好比將環境變量設置爲非交互的 ENV DEBIAN_FRONTEND noninteractive.那再用這個來進行操做: docker run -t -i image bash

相關文章
相關標籤/搜索