# Dockerfile 中的命令git
> Dockerfile支持13個命令, 其中一些命令用於構建鏡像,docker
> 另一些用於從鏡像中運行容器,這是一個關於命令何時被用到的表格: ide
```spa
BUILD BOTH RUN命令行
FROM WORKDIR CMD繼承
MAINTAINER USER ENVget
COPY EXPOSEcmd
ADD VOLUMEit
RUN ENTRYPOINTclass
ONBUILD
.dockerignore
```
BUILD 命令:
FROM - 新鏡像是基於哪一個鏡像的
MAINTAINER - 鏡像維護者的姓名和郵箱地址
COPY - 拷貝文件和目錄到鏡像中
ADD - 同COPY同樣,但會自動處理URL和解壓tarball壓縮包
RUN - 在容器中運行一個命令, 好比:apt-get install
ONBUILD - 當構建一個被繼承的Dockerfile時運行命令
.dockerignore - 不是一個命令, 但它能控制什麼文件被加入到構建的上下文中,
構建鏡像時應該包含.git以及其它的不須要的文件。
RUN 命令:
CMD - 運行容器時的默認命令,能夠被命令行參數覆蓋
ENV - 設置容器內的環境變量
EXPOSE - 從容器中暴露出端口, 必須顯式的經過在主機上的RUN命令帶上-p或者-P來暴露端口
VOLUME - 指定一個在文件系統以後的存儲目錄。若是不是經過docker run -v設置的, 那麼將被建立爲/var/lib/docker/volumes
ENTRYPOINT - 指定一個命令不會被docker run p_w_picpath cmd命令覆蓋。經常使用於提供一個默認的可執行程序並使用命令做爲參數。
BUILD, RUN命令都有的命令:
USER - 爲RUN、CMD、ENTRYPOINT命令設置用戶
WORKDIR - 爲RUN、CMD、ENTRYPOINT、ADD、COPY命令設置工做目錄