RUN
、CMD
和ENTRYPOINT
RUN
執行命令並建立新的Image LayerCMD
設置容器啓動後默認執行的命令和參數ENTRYPOINT
設置容器啓動時運行的命令EXECdocker
FROM debian RUN ['apt-get','install','-y','vim'] CMD ['/bin/echo','hello world!!'] ENTRYPOINT ['/bin/echo','hello world!!']
SHELLshell
FROM debian RUN apt-get install -y vim CMD echo 'hello world!!' ENTRYPOINT echo 'hello world!!'
apt-get update && apt-get install -y
須要放在同一個RUN
命令中,不然apt-get install
會從緩存中安裝軟件,致使apt-get update
執行毫無心義apt-get install
的軟件儘可能一個一行而且按照字母順序排列,這樣能夠避免安裝重複的命令apt-get install
安裝軟件時能夠爲軟件指定特定的版本apt-get install -y aufs-tools s3cmd=1.1.*
CMDvim
ENTRYPOINT緩存
COPY ./script/test.sh /usr/local/bin ENTRYPOINT ['test.sh']