Dockerfile關鍵字說明
1.本人在使用Dockerfile文件製做鏡像過程當中踩了很多坑,這裏將我總結的一些注意點貼出來,供你們參考。docker
2.Dockerfile大體格式:shell
FROM centos:7
MAINTAINER chuan
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash
3.關鍵字說明:vim
- FROM:基於哪一個基礎鏡像
- WORKDIR:指定shell命令運行在哪一個目錄下。爲後續的 RUN、CMD、COPY、ADD 等命令配置工做目錄。接下來的 COPY 和 ADD 命令中的相對路徑就是相對於 WORKDIR 指定的路徑
- COPY:將當前宿主機的文件拷貝到鏡像中去(copy的文件必須在build命令最後指定的路徑內)
- ADD:和COPY同樣,而且還能夠解壓縮,或者從 url 拷貝文件到鏡像中。COPY 和 ADD 命令具備相同的特色:只複製目錄中的內容而不包含目錄自身。
- RUN:構建鏡像時運行的shell命令
- CMD:容器運行時執行的shell命令(多個CMD只有最後一個生效,要想都執行能夠使用&&鏈接多個命令)(若是容器run時,後面指定了shell版本,Dockerfile中的CMD也會被覆蓋)
- ENTRYPOINT:和CMD同樣,可是能夠追加(必須使用exec格式,即:ENTRYPOINT [./entrypoint.sh,參數1,參數2……])
- EXPOSE:指定鏡像暴露出來的端口
- VOLUMU:數據容器卷,指定映射文件,用於數據持久化
- ENV:指定環境變量
- LABEL:指定容器運行時標示
- SHELL:指定shell
- MAINTAINER:鏡像維護者的姓名和郵箱地址
- ONBUILD:當構建一個父鏡像時,父鏡像被子鏡像繼承時,ONBUILD被觸發
4.最後生成鏡像時:centos
docker build -t 新鏡像名 -f centos\_dockerfile .
最後有個點表示當前目錄的centos_dockerfile文件。(若是文件名就是Dockerfile,則直接:docker build -t 新鏡像名 .)bash