Dockerfile 是記錄了鏡像是如何被構(gòu)建出來的配置文件, 可以被 docker
直接執(zhí)行以創(chuàng)建一個(gè)鏡像. 它的樣子:
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
, 進(jìn)入文件所在目錄, 輸入:
docker build .
就可以開始構(gòu)建過程, 并且得到一個(gè)新的鏡像了.
Dockerfile 支持一些很簡(jiǎn)單的命令:
docker run IMAGE_ID cmd
這里的默認(rèn)命令.docker run IMAGE_ID cmd
這里的默認(rèn)命令的前面部分, run
中 cmd
可以作為后續(xù)參數(shù).build
的過程, 會(huì)依次執(zhí)行上面的命令, 實(shí)際上, docker 做的事, 也就是從基礎(chǔ)鏡像啟一個(gè)容器, 然后執(zhí)行一條命令, 修改之后提交此容器為新鏡像. 以此類推, 直到所有命令都執(zhí)行完. 所以在得到最終構(gòu)建的鏡像時(shí), 會(huì)生成很多"中間鏡像". 而如果 Dockerfile 中某條命令有錯(cuò), 也是在當(dāng)前中止, 過程中的"中間鏡像"及"當(dāng)前構(gòu)建用的容器"仍然存在的.
更多建議: