FROM
基于哪個(gè)鏡像
MAINTAINER
用來寫備注信息,例如作者殴玛、日期等捅膘。
COPY
復(fù)制文件進(jìn)入鏡像(只能用相對(duì)路徑,不能用絕對(duì)路徑)
ADD
復(fù)制文件進(jìn)入鏡像(可以用絕對(duì)路徑滚粟,假如是壓縮文件會(huì)解壓)
ADD a.jar /home/a.jar 復(fù)制a.jar到home下面
WORKDIR
指定工作目錄寻仗,假如路徑不存在會(huì)創(chuàng)建路徑
ENV
設(shè)置環(huán)境變量
EXPOSE
暴露容器端口到宿主機(jī)
RUN
在構(gòu)建鏡像的時(shí)候執(zhí)行一條命令,作用于鏡像層面
shell命令格式:RUN yum install -y net-tools
exec命令格式:RUN [ "yum","install" ,"-y" ,"net-tools"]
ENTRYPOINT
在容器啟動(dòng)的時(shí)候執(zhí)行凡壤,作用于容器層署尤,dockerfile里有多條時(shí)只允許執(zhí)行最后一條
CMD
在容器啟動(dòng)的時(shí)候執(zhí)行,作用于容器層亚侠,dockerfile里有多條時(shí)只允許執(zhí)行最后一條
容器啟動(dòng)后執(zhí)行默認(rèn)的命令或者參數(shù)曹体,允許被修改
基于cntos7,如果沒有這個(gè)鏡像那么它會(huì)下載這個(gè)鏡像硝烂。
FROM centos:7
創(chuàng)建者(這個(gè)可以不寫)
MAINTAINER 吳磊
為Dockerfile中所有RUN混坞、CMD、ENTRYPOINT钢坦、COPY和ADD指令設(shè)定工作目錄
WORKDIR /usr
執(zhí)行命令(這里創(chuàng)建了一個(gè)目錄)
RUN mkdir /usr/local/java
和copy一樣,復(fù)制文件到指定目錄啥酱,但是copy不能解壓爹凹,add自動(dòng)解壓
ADD jdk-8u181-linux-x64.tar.gz /usr/local/java
重命名(不知道文件名可以現(xiàn)在宿主機(jī)解壓后看一下)
RUN ln -s /usr/local/java/jdk1.8.0_181 /usr/local/java/jdk
設(shè)置環(huán)境變量
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME {JAVA_HOME}/lib:{JAVA_HOME}/bin:$PATH