zoukankan      html  css  js  c++  java
  • 【转载】Dockerfile文件详解

    什么是dockerfile?

    Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。

    docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指定要使用的Dockerfile路径

    例:

    docker build -f /root/dockerfiles

    Dockerfile的基本结构

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

    Dockerfile文件说明

    Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以字符开头则被视为注释。可以在Docker文件中使用RUNCMDFROMEXPOSEENV等指令。

    在这里列出了一些常用的指令^-^

    • FROM:指定基础镜像,必须为第一个命令

    • MAINTAINER: 维护者信息
    • RUN:构建镜像时执行的命令
    • ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
    • COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
    • CMD:构建容器后调用,也就是在容器启动时才进行调用。
    • ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数。
    • LABEL:用于为镜像添加元数据
    • ENV:设置环境变量
    • EXPOSE:指定于外界交互的端口
    • VOLUME:用于指定持久化目录
    • WORKDIR:工作目录,类似于cd命令
    • USER : 指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。使用USER指定用户时,可以使用用户名、UID或GID,或是两者的组合。

            当服务不需要管理员权限时,可以通过该命令指定运行用户。并且可以在之前创建所需要的用户

    • ARG:用于指定传递给构建运行时的变量
    • ONBUILD:用于设置镜像触发器

    最后用一张图解释常用指令的意义^-^

    详细原文:https://www.cnblogs.com/panwenbin-logs/p/8007348.html

    .dockerignore 的作用:https://blog.csdn.net/xs20691718/article/details/79502406 

     

  • 相关阅读:
    【REST详述及RESTful规范】
    【Vue CLI】从安装到构建项目再到目录结构的说明
    【Webpack】
    【npm】安装、搭建独立项目环境
    【Node.js安装步骤】
    【Vue路由系统详述】
    【Python实现图片验证码】
    【Vue实例生命周期】
    【Vue组件系统】
    Java实现几种常见排序方法
  • 原文地址:https://www.cnblogs.com/leozhanggg/p/11820214.html
Copyright © 2011-2022 走看看