# Dockerfile
* __FROM:__ `鏡像`
* __MAINTAINER:__ `鏡像創建者`
* __RUN:__ `執行命令`
* __ENV:__ `設置環境變量`
* __USER:__ `使用哪個用戶跑container`
* __EXPOSE:__ `container內部服務開啟的端口`
* __COPY:__ `將文件<src>拷貝到container的文件系統對應的路徑<dest>`
* __VOLUME:__ `可以將本地文件夾或者其他container的文件夾掛載到container中`
* __WORKDIR:__ `切換目錄,同cd`
* __ONBUILD:__ `指定的命令在構建鏡像時并不執行,而是在它的子鏡像中執行`
* __CMD__
1. container啟動時執行的命令,但是一個Dockerfile中只能有一條CMD命令,多條則只執行最后一條CMD.
2. CMD主要用于container時啟動指定的服務,當docker run command的命令匹配到CMD command時,會替換CMD執行的命令
* __ENTRYPOINT__
1. container啟動時執行的命令,但是一個Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執行最后一條
2. ENTRYPOINT沒有CMD的可替換特性
* __ADD__
1. 將文件<src>拷貝到container的文件系統對應的路徑<dest>
2. 所有拷貝到container中的文件和文件夾權限為0755,uid和gid為0
3. 如果文件是可識別的壓縮格式,則docker會幫忙解壓縮
4. 只有在build鏡像的時候運行一次,后面運行container的時候不會再重新加載了
5. 可拷貝url路徑的文件