Docker file 参数详解

Docker file 参数详解


Dockerfile 由一行行命令语句组成,并且支持已 # 开头的注释行。

一般而言,Dockerfile 的内容分为四个部分:
基础镜像信息、

维护者信息、

镜像操作指令、

容器启动时执行指令、

1.参数

This dockerfile demo for project build to docker images
 VERSION 2
 Author: Shawn_xiao
 Command format: Instruction [arguments / command]2018/10/10- firstversion: xiao
 2018/10/11- chanege the tomcat version

 第一行必须指定基础容器,建议使用aipln类型的小容器
FROM tomcat:8

 维护者信息(可选)
MAINTAINER xiaojianjun xiaojianjun@tansun.com.cn

 LABEL (可选) 标签信息(自定义信息,多标签放一行)
LABEL app.maintainer=xiaojianjun
LABEL app.version="1.0" app.host='bestxiao.cn' description="这个app产品构建"

 ENV  (可选)环境变量(指定一个环境变量,会被后续 RUN 指令使用,并在容器运行时保持 
ENV JAVA_HOME /opt/java_jdk/bin
ENV PG_VERSION 9.3.4
ENV PATH /usr/local/postgres-$PG_MAJOR/bin:$PATH

 USER (可选) 指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户,前面的RUN 不受影响
 RUN groupadd -r postgres && useradd -r -g postgres postgres 
USER postgres

 WORKDIT 后续的 RUNCMDENTRYPOINT 指令配置容器内的工作目录
WORKDIR /path/to/workdir

 ADD/COPY 将外部文件copy到容器中。区别是ADD可以使用URL,还可以是tar
 COPY只能使用dockerfile所在目录
 ADD <src> <dest>
 COPY <src> <dest>
COPY target/tomcat-release.war /usr/local/tomcat/webapps/

 RUN 镜像的操作指令
 RUN <command> [“executable”, “param1”, “param2”]RUN echo “deb http://archive.ubuntu.com/ubuntu/ raring main universe” >> /etc/apt/sources.list
RUN apt-get update && apt-get install -y nginx
RUN mkdir /opt/deploy/
RUN echo “\ndaemon off;>> /etc/nginx/nginx.conf

 EXPOSE 容器启动后需要暴露的端口
EXPOSE 22 80 8443 8080

 VOLUME 本地或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等。
VOLUME ["/data"]
VOLUME ["/data/postgres", "/other/path/"]


 ENTRYPOINT  容器启动后执行命令,不会被docker run提供的参数覆盖,只能有一个ENTRYPOINT,
 多个ENTRYPOINT,以最后一个为准
ENTRYPOINT [“executable”, “param1”, “param2”]
ENTRYPOINT command param param2
ENTRYPOINT echo "helloDocker"  

 容器启动时执行指令,每个 Dockerfile 只能有一条 CMD 命令
CMD [“executable”, “param1”, “param2”] 使用 exec 执行,推荐方式。
CMD command param1 param2 在 /bin/sh 中执行,提供给需要交互的应用。
CMD [“param1”, “param2”] 提供给 ENTRYPOINT 的默认参数。
CMD /usr/sbin/nginx


 ONBUILD 配置当所创建的镜像作为其他新创建镜像的基础镜像时,所执行的操作指令。例如,Dockerfile 使用如下的内容创建了镜像 image-A-- 很少使用

 ONBUILD ADD . /app/src
 ONBUILD RUN /usr/local/bin/python-build –dir /app/src

2.示例

指定镜像
FROM primetoninc/jdk:1.8
拷贝宿主机的app.jar
COPY app.jar app.jar
配置端口
EXPOSE 8080
运行app.jar包
ENTRYPOINT exec java -jar app.jar
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值