Dockerfile關鍵字

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

相關文章
相關標籤/搜索