美文网首页
Dockerfile创建自定义镜像

Dockerfile创建自定义镜像

作者: 阿尼奥赛哟 | 来源:发表于2020-05-07 14:44 被阅读0次

    一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令如RUN和容器启动时执行指令如CMD。

    详细文档https://blog.csdn.net/wo18237095579/article/details/80540571

    1. FROM

    格式为FROM <image>  FROM <image>:<tag> //这里image是指用官方的镜像作为你的镜像基础

    第一条必须是From指令 

    Eg:   FROM java:8-jre

    2. MAINTAINER

    格式为MAINTAINER <name>,指定维护者信息

    3. RUN

    格式为RUN <command> 或 RUN ["executable", "param1", "param2"]

    每条RUN指令将在当前镜像基础上执行指定命令,并提交为新的镜像

    4. ADD

    格式为ADD <源路径> <目标路径>

    该命令将复制指定的<src> 到容器中的 <dest>。其中<src> 可以是Dockerfile所在目录的一个相对路径;也可以是一个 URL;还可以是一个 tar 文件(自动解压为目录)。如果《dest》不存在会创建目录

    Eg:   ADD ./jar/pig-config.jar /app/  

    5. VOLUME

    格式为VOLUME ["/data"]

    创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等。

    6. EXPOSE

    格式为EXPOSE <port> [<port>...]

    告诉Docker 服务端容器暴露的端口号,供互联系统使用。在启动容器时需要通过 -P,Docker 主机会自动分配一个端口转发到指定的端口。

    7. CMD

    支持三种格式

    CMD ["executable","param1","param2"] 使用 exec 执行,推荐方式;

    ]CMD command param1 param2 在 /bin/sh 中执行,提供给需要交互的应用;

    CMD ["param1","param2"] 提供给 ENTRYPOINT 的默认参数;

    指定启动容器时执行的命令,每个Dockerfile 只能有一条CMD 命令。如果指定了多条命令,只有最后一条会被执行。如果用户启动容器时候指定了运行的命令,则会覆盖掉 CMD 指定的命令。

    Eg:   CMD ["java", "-Xmx200m", "-jar", "/app/pig-config.jar"]

    8. ENV

    格式为ENV <key> <value>。指定一个环境变量,会被后续RUN 指令使用,并在容器运行时保持

    相关文章

      网友评论

          本文标题:Dockerfile创建自定义镜像

          本文链接:https://www.haomeiwen.com/subject/zkkaghtx.html