摘要:創建鏡像時需要文件文件里裝著一些命令集的過程會從上到下依次執行里面的命令整個創建過程是首先從基礎鏡像啟一個容器然后執行一條命令修改之后提交此容器為新鏡像直到所有命令都執行完所以在得到最終構建的鏡像時會生成很多臨時鏡像如果因為某條命令出錯而中
docker build創建鏡像時需要Dockerfile文件. Dockerfile文件里裝著一些命令集, build的過程, 會從上到下依次執行里面的命令.
整個創建過程是首先從基礎鏡像啟一個容器, 然后執行一條命令, 修改之后提交此容器為新鏡像. 直到所有命令都執行完. 所以在得到最終構建的鏡像時, 會生成很多"臨時鏡像". 如果因為某條命令出錯而中斷, 之前創建的"臨時鏡像"還在, 重新build就會從中斷處繼續, 而不是從頭再來一遍, 很方便.
FROM
例: FROM ubuntu:14.04
MAINTAINER
例: MAINTAINER Laowen "qq05629@126.com"
ENV: 設置環境變量
例: ENV REFRESHED _AT 2017-03-16
RUN
例: RUN apt-get -yqq update
ADD : 從當前目錄復制文件到容器, source可以是URL或者是啟動配置上下文中的一個文件, destination是容器內的路徑. 會自動處理目錄, 壓縮包等情況
例: ``
COPY: 從當前目錄復制文件到容器. 只是單純地復制文件.
VOLUME [ "/data" ]: 聲明一個數據卷, 可用于掛載, []里面是路徑
例: VOLUME [ "/var/lib/redis", "/var/log/redis" ]
USER
WORKDIR: 指定RUN、CMD與ENTRYPOINT命令的工作目錄
例: WORKDIR /opt/nodeapp
ONBUILD: 前綴命令, 放在上面這些命令前面, 表示生成的鏡像再次作為"基礎鏡像"被用于構建時要執行的命令
ENTRYPOINT: 配置給容器一個可執行的命令,這意味著在每次使用鏡像創建容器時一個特定的應用程序可以被設置為默認程序.同時也意味著該鏡像每次被調用時僅能運行指定的應用.類似于CMD,Docker只允許一個ENTRYPOINT,多個ENTRYPOINT會只執行最后的ENTRYPOINT指令
例: ENTRYPOINT [ "nodejs", "server.js" ]
CMD: 提供了容器默認的執行命令,Dockerfile只允許使用一次CMD指令. 使用多個CMD只有最后一個指令生效
例: CMD [ "/bin/true" ]
EXPOSE
例: EXPOSE 3000
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26828.html
摘要:如果有服務器需要維護重啟時,也會重啟,此時端口會發生變化,仍然會隨機拿一個沒有使用的端口號來和號端口做端口映射。除非該刪掉后,端口號會被分配給其他使用。 Dockerfile Docker是軟件工業上的集裝箱技術。 通過以下文件制作Docker鏡像 [root@Optimus docker-training]# cd centos7/ [root@Optimus centos7]# l...
閱讀 2232·2021-11-22 14:56
閱讀 9836·2021-09-08 10:45
閱讀 1966·2019-08-30 13:54
閱讀 2859·2019-08-29 16:54
閱讀 2003·2019-08-29 14:20
閱讀 1773·2019-08-29 12:25
閱讀 1851·2019-08-29 12:17
閱讀 1049·2019-08-23 18:29