Dockerfile 是記錄了鏡像是如何被構建出來的配置文件, 可以被 docker
直接執(zhí)行以創(chuàng)建一個鏡像. 它的樣子:
FROM ubuntu:14.04 MAINTAINER YS.Zou <> ADD run /root/run ADD sources.list /etc/apt/sources.list ADD id_rsa.pub /tmp/pubkey ADD requirements /root/requirements RUN mkdir -p /root/.ssh && \ cat /tmp/pubkey >> /root/.ssh/authorized_keys && \ rm -rf /tmp/pubkey ... CMD ["bash", "/root/run"]
把文件命名為 Dockerfile
, 進入文件所在目錄, 輸入:
docker build .
就可以開始構建過程, 并且得到一個新的鏡像了.
Dockerfile 支持一些很簡單的命令:
docker run IMAGE_ID cmd
這里的默認命令.docker run IMAGE_ID cmd
這里的默認命令的前面部分, run
中 cmd
可以作為后續(xù)參數.build
的過程, 會依次執(zhí)行上面的命令, 實際上, docker 做的事, 也就是從基礎鏡像啟一個容器, 然后執(zhí)行一條命令, 修改之后提交此容器為新鏡像. 以此類推, 直到所有命令都執(zhí)行完. 所以在得到最終構建的鏡像時, 會生成很多"中間鏡像". 而如果 Dockerfile 中某條命令有錯, 也是在當前中止, 過程中的"中間鏡像"及"當前構建用的容器"仍然存在的.
更多建議: