文章标题

编写Dockerfile

命令

  • FROM (指定基础image)
    FROM <image>:<tag>
    例:FROM ubuntu:14.04

  • MAINTAINER (指定image创建者信息)
    MAINTAINER <name>
    例:MAINTAINER bbman

  • RUN (在创建image时会运行的指令,可以写多条)
    RUN <command>
    例:如果基础image是ubuntu,需要安装maven时命令为,RUN apt-get install maven -y

  • ADD (向容器内添加文件或目录)
    ADD <src> <dst>
    例:ADD src/ /app/src/

  • CMD (启动容器后默认执行的命令,会被docker命令行传入的参数覆盖,最后一个生效)
    CMD ["executable", "param1", "param2"]
    CMD command param1 param2
    例:CMD [“/bin/echo”, “this is a echo test ”]

  • ENTRYPOINT (与CMD类似,如果CMD 传入的参数里,没有可执行文件,则这些参数就作为entrypoint的参数,
    如果传入的参数里,包含可执行文件,则entrypoint 不执行)
    ENTRYPOINT ["executable", "param1", "param2"]
    ENTRYPOINT command param1 param2

  • WORKDIR (设置RUN,CMD, ENTRYPOINT命令的工作路径)
    WORKDIR /path/to/work/dir

  • EXPOSE (指定对外开放的端口)
    EXPOSE <port> [<port>...]
    例:EXPOSE 80 3306开放 80 与 3306 端口

  • VOLUME (使容器中的一个目录具有持久化存储数据的功能,该目录可以被容器本身使用,也可以共享给其他容器使用)
    VOLUME <mountpoint>
    例:VOLUME ["/tmp/data"]

  • EVN (设置环境变量)
    EVN <key> <value>

一个将spring-boot 打包为 image 的示例
链接

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值