Dockerfile

147 阅读1分钟

[Dockerfile指令]

FROM         #基础镜像,一切从这里开始

MAINTAINER      #镜像是谁写的,姓名 + 邮箱

RUN         #镜像构建的时候需要运行的命令

ADD         #步骤,给镜像添加内容

WORKDIR       #当前工作目录

VOLUME       #设置卷,挂载主机目录

EXPOSE       #指定对外的端口

RUN         #指定容器启动后要干的事情

CMD          #容器启动的时候要运行的批处理命令,只有最后一个会生效,可被替代

ENTRYPOINT      #容器启动的时候要运行的批处理命令,可以追回命令

ONBUILD        #当构建一个被继承 DockerFile 的时候就会运行ONBUILD 指令
COPY          #将文件拷贝到镜像中
ENV          #构建的时候设置环境变量

 

编写一个 Dockerfiler 案例

复制代码

FROM nginx
MAINTAINER yihan<87654@qq.com>

ENV my-nginxpath /usr/local

COPY readme.txt /usr/local/
ADD jdk_8u11-Linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/

ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/Lib/dt.jar:$JAVA_HOME/Lib/tools.jar
ENV CATALINA_HOME /use/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /use/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/Lib:$CATALINA_HOME/bin

WORKDIR $my-nginxpath
EXPOSE 8080 

COPY . . 

RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf 
RUN yum -y install vim 
RUN yum -y install net-tools 

CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out


CMD echo "----- end -----"

复制代码