020.Dockerfile

本文介绍了docker-cli通过读取Dockerfile生成定制docker镜像的方法。Dockerfile指令分为构建和设置两种,构建指令用于构建image,设置指令用于设置image属性。文中还列举了具体指令,并给出了Dockerfile示例及构建镜像的参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  docker-cli读取Dockerfile,根据指令生成定制的docker镜像。

 

  • Dockerfile的指令根据作用可以分为两种,构建指令和设置指令。

  构建指令:用于构建image,其指定的操作不会在运行image的容器上执行;

  设置指令:用于设置image的属性,其指定的操作将在运行image的容器中执行。

 

  1.构建指令

FROM

MAINTAINER

WORKDIR

RUN

ENV

ADD

COPY

VOLUME 

 

  2.设置指令

CMD

ENTRYPOINT

USER 

EXPOSE

 

  • Dockerfile示例

 ## Dockerfile的指令是忽略大小写的,建议使用大写,使用 # 作为注释,每一行只支持一条指令,每条指令可以携带多个参数。

FROM ubuntu:13.10  
MAINTAINER zing wang "zing.jian.wang@gmail.com"  

RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list  
RUN apt-get update  
RUN apt-get -y install curl  
RUN cd /tmp &&  curl -L 'http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz' -H 'Cookie: oraclelicense=accept-securebackup-cookie; gpw_e24=Dockerfile' | tar -xz  
RUN mkdir -p /usr/lib/jvm  
RUN mv /tmp/jdk1.7.0_65/ /usr/lib/jvm/java-7-oracle/
RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/bin/java 300     
RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 300     
  
ENV JAVA_HOME /usr/lib/jvm/java-7-oracle/  
RUN cd /tmp && curl -L 'http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz' | tar -xz  
RUN mv /tmp/apache-tomcat-7.0.8/ /opt/tomcat7/  
  
ENV CATALINA_HOME /opt/tomcat7  
ENV PATH $PATH:$CATALINA_HOME/bin  

ADD tomcat7.sh /etc/init.d/tomcat7  
RUN chmod 755 /etc/init.d/tomcat7  
  

EXPOSE 8080  

ENTRYPOINT service tomcat7 start && tail -f /opt/tomcat7/logs/catalina.out 

 

 

From 47.xxx.xxx.xxx:10010/openjdk8-apline-ssh:v0.1
WORKDIR /app
COPY app.jar /app/app.jar
RUN chown -R 1000:1000 /app && chmod -R 750 /app &&  mkdir /app/config && chown -R  1000:1000 /app/config &&  chmod -R 750 /app/config
EXPOSE 8050
ENTRYPOINT java -jar  /app/app.jar
USER 1000:1000

 

  • 使用Dockerfile构建docker镜像
#在Dockerfile所有目录下
docker build -t xxx:xxx:xxx:xxx:10000/demo:v0.1 .

 

 

 

参考:

https://blog.youkuaiyun.com/qinyushuang/article/details/43342553

https://blog.youkuaiyun.com/qq_28710983/article/details/80964519

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值