• Dockerfile详解


    Dockerfile概念:

    Docker 守护进程会解析整个 dockerfile 文件内容,执行一条条的指令,Docker 守护进程会翻
    译成真正的 linux 指令
     

    Dockerfile中下面是常用参数:

    FROM                      镜像名称
    
    MAINTAINER(弃用)          创建人描述  设置镜像的作者信息
    
    LABEL                     设置镜像的标签,用法灵活
    
    ARG                        设置编译镜像时加入的参数,若想保存为环境变量,就是用ENV,若只想在Dockerfile中临时用一下,就用ARG
    
    USER                       设置运行RUN CMD ENTRYPOINT的用户名
    
    RUN                        容器构建时需要运行的命令
    
    EXPOSE                   当前容器对外暴露出的端口
    
    WORKDIR                  指定在创建容器后,终端默认登录进来的工作目录,一个落脚点
    
    ENV                       构建环境变量
    
    ADD                      拷贝文件到容器内,并会自动处理URL网上下载文件和解压tar压缩包
    
    COPY                    只能拷贝
    
    VOLUME                  容器数据卷 用于数据保存和持久化工作
    
    CMD                     指定一个容器启动时要运行的命令,可以指定多个,但只有最后一个生效
    
    ENTRYPOINT              指定一个容器启动时要运行的命令,会追加参数
    
    ONBUILD                当构建一个被继承的dockerfile时运行改命令,父镜像会被子继承后,触发
    
    STOPSIGNAL             设置容器的退出信号量
     
    使用 Dockerfile 构建镜像时最好是将 Dockerfile 放置在一个新建的空目录下。然后将构建镜像所需要的文件添加到该目录中。为了提高构建镜像的效率,你可以在目录下新建一个.dockerignore 文件来指定要忽略的文件和目录。.dockerignore 文件的排除模式语法和 Git 的.gitignore 文件相似。
     
    Build 一个镜像时使用,可以从 Dockerfile 所在的目录(如一些 jar 包)复制到镜像中云,COPY与 ADD 都可以实现,只是 ADD 功能更强大,可以从网络上下载文件,如果设置了 WORKDIR,则 RUN、CMD、COPY、ADD 会把文件复制到该目录下,但当没有指定呢?文件复制到哪了?这里要看当前工作目录,即 WORKDIR 指令指定目录,还有-v 命令指定的目录,如果都没有指定则是根目录,即“/”。

    如果有帮助,请帮忙点个赞吧,谢谢

                                                                                          ----------------------致敬每一个正在努力的人

    嗨~如果有帮助,请帮忙点个赞吧,谢谢 -致敬每一个正在努力的人
  • 相关阅读:
    写在彻底转向有道云笔记一个月之后
    KMP算法实现
    有道云笔记 V.S. 为知笔记
    卸载印象笔记,跟印象笔记说拜拜
    ExpandRegion for Sublime Text:快速选择文本
    Linux cat命令详解
    Vim安装插件
    Vim与正则表达式
    还没供暖
    在Linux命令行中设置并使用代理服务器
  • 原文地址:https://www.cnblogs.com/dongweizhen/p/13802177.html
Copyright © 2020-2023  润新知