docker之dockerFile

2023-05-16

在Dockerfile中用到的命令有
FROM

FROM指定一个基础镜像, 一般情况下一个可用的 Dockerfile一定是 FROM 为第一个指令。至于image则可以是任何合理存在的image镜像。
FROM 一定是首个非注释指令 Dockerfile.
FROM 可以在一个 Dockerfile 中出现多次,以便于创建混合的images。
如果没有指定 tag ,latest 将会被指定为要使用的基础镜像版本。

MAINTAINER

这里是用于指定镜像制作者的信息

RUN

 RUN命令将在当前image中执行任意合法命令并提交执行结果。命令执行提交后,就会自动执行Dockerfile中的下一个指令。
    层级 RUN 指令和生成提交是符合Docker核心理念的做法。它允许像版本控制那样,在任意一个点,对image 镜像进行定制化构建。
    RUN 指令缓存不会在下个命令执行时自动失效。比如 RUN apt-get dist-upgrade -y 的缓存就可能被用于下一个指令. --no-cache 标志可以被用于强制取消缓存使用。

ENV

ENV指令可以用于为docker容器设置环境变量
ENV设置的环境变量,可以使用 docker inspect命令来查看。同时还可以使用docker run --env <key>=<value>来修改环境变量。

USER

USER 用来切换运行属主身份的。Docker 默认是使用 root,但若不需要,建议切换使用者身分,毕竟 root 权限太大了,使用上有安全的风险。

WORKDIR

 WORKDIR 用来切换工作目录的。Docker 默认的工作目录是/,只有 RUN 能执行 cd 命令切换目录,而且还只作用在当下下的 RUN,也就是说每一个 RUN 都是独立进行的。如果想让其他指令在指定的目录下执行,就得靠 WORKDIR。WORKDIR 动作的目录改变是持久的,不用每个指令前都使用一次 WORKDIR。

COPY

COPY 将文件从路径 <src> 复制添加到容器内部路径 <dest><src> 必须是想对于源文件夹的一个文件或目录,也可以是一个远程的url,<dest> 是目标容器中的绝对路径。
所有的新文件和文件夹都会创建UID 和 GID 。事实上如果 <src> 是一个远程文件URL,那么目标文件的权限将会是600

ADD

 ADD 将文件从路径 <src> 复制添加到容器内部路径 <dest><src> 必须是想对于源文件夹的一个文件或目录,也可以是一个远程的url。<dest> 是目标容器中的绝对路径。
    所有的新文件和文件夹都会创建UID 和 GID。事实上如果 <src> 是一个远程文件URL,那么目标文件的权限将会是600

VOLUME

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

EXPOSE

 EXPOSE 指令指定在docker允许时指定的端口进行转发。

CMD

 Dockerfile.中只能有一个CMD指令。 如果你指定了多个,那么最后个CMD指令是生效的。
    CMD指令的主要作用是提供默认的执行容器。这些默认值可以包括可执行文件,也可以省略可执行文件。
    当你使用shell或exec格式时,  CMD 会自动执行这个命令。

ONBUILD

 ONBUILD 的作用就是让指令延迟執行,延迟到下一个使用 FROM 的 Dockerfile 在建立 image 时执行,只限延迟一次。
    ONBUILD 的使用情景是在建立镜像时取得最新的源码 (搭配 RUN) 与限定系统框架。

ARG

ARG是Docker1.9 版本才新加入的指令。
ARG 定义的变量只在建立 image 时有效,建立完成后变量就失效消失

LABEL

 定义一个 image 标签 Owner,并赋值,其值为变量 Name 的值。(LABEL Owner=$Name )

ENTRYPOINT

是指定 Docker image 运行成 instance (也就是 Docker container) 时,要执行的命令或者文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker之dockerFile 的相关文章

随机推荐

  • Docker入门到实践 (五) docker数据的备份、恢复与迁移

    文章目录 一 前言二 docker数据的备份 恢复与迁移方式一 xff1a docker容器的备份 恢复与迁移1 docker容器的备份 导出 2 docker容器的迁移与恢复 导入 方式二 xff1a docker镜像的备份 恢复与迁移1
  • Telnet协议和SSH协议

    1 Telnet协议定义 远程登陆协议 xff0c 用于对设备进行远程管理 xff0c 基于明文 目前不建议使用 xff0c 建议采用SSH协议 xff0c 采用TCP 23号端口 2 原理 xff1a Telnet12 0 1 28 te
  • js中数组和set的相互转化

    1 array gt set xff08 数组转set xff09 例子 xff1a span class token keyword let span array span class token operator 61 span spa
  • 驼峰命名规则

    驼峰规则 1 小驼峰式命名法 xff08 lower camel case xff09 xff1a 第一个单字以小写字母开始 xff0c 第二个单字的首字母大写 例如 xff1a firstName lastName 2 大驼峰式命名法 x
  • 机器人巡线算法优化方案

    引言 大赛机器人的运行环境是大赛的场地 比赛时场地的情况将非常复杂 因此 机器人必须知道自己当前的位置才能决定要执行怎样的动作 定位是大赛机器人各种性能发挥的基础 也是机器人全场路径自动规划的基础 目前 比较先进的机器人定位方法为陀螺导航
  • 如何在评论中以超链接的方式放置链接

    如何在评论中以超链接的方式放置链接 格式 xff1a url 61 链接 显示的内容 url 例子1 xff1a url 61 http blog csdn net qq 39189509 article details 73716422
  • STM32唯一ID(Unique Device ID)的读取方法

    每一个STM32微控制器都自带一个96位的唯一ID xff0c 也就是Unique Device ID或称为UID xff0c 这个唯一ID在任何情况下都是唯一的且不允许修改 在开发过程中 xff0c 可能需要用到这个UID xff0c 比
  • 设计算法以判断集合A是否是集合B的子集

    一 题目 xff1a 假设递增有序的带头结点的链表A B分别表示一个集合 xff0c 试设计算法以判断集合A是否是集合B的子集 xff0c 如是返回1 xff0c 否则返回0 二 思路 xff1a 1 A的值大于B的值 xff0c 那就A的
  • 将两个递增有序的带头结点的单链表A、B合并成为一个递增有序的带头结点的单链表

    一 题目 将两个递增有序的带头结点的单链表A B合并成为一个递增有序的带头结点的单链表 二 思路 将单链表A B遍历 xff0c 比较两个链表中元素的值 xff0c 分为下列情况 xff1a A lt B 则A的指针向后移一位 xff0c
  • 将链表L就地逆置,即利用原表各结点的空间实现逆置

    一 题目 将链表L就地逆置 xff0c 即利用原表各结点的空间实现逆置 二 思路 在链表的第二个元素开始执行逆置 xff0c 因为如果链表只有一个元素 xff0c 那么逆置就没有意义了 步骤 xff1a 假设原链表如下 xff1a 将结点1
  • Android| failed to connect to /10.0.2.2 (port 80) after 10000ms

    关于使用android模拟器访问本地服务器失败 第一种 xff1a 使用Google自带的模拟器 用http 127 0 1 1访问失败 描述 xff1a 明明在浏览器中使用http 127 0 1 1可以访问Apache本地服务器 xff
  • you-get【视频下载】

    如何安装you get 在目录C Users jia AppData Local Programs Python Python36 Scripts中shift 43 右键 xff0c 唤出命令行窗口 xff08 如果配置好了环境变量 xff
  • python中调用adb命令来控制手机

    前言 如今python是非常多人学习的 xff0c 而手机也几乎人手一部 对于很多Python学习者 xff0c 想用python来完成android手机中各种炫酷的的控制 xff0c adb是必不可缺少的工具之一 比如17年末大热的微信
  • 中断和中断Handlers

    任意一个操作系统的核心responsibility都是管理连接到机器上面的硬件 包括硬盘 键盘 鼠标 3D处理器等 为了满足这项responsibility xff0c 内核需要和机器本身通信 xff0c 假如说处理器在维度上比他访问的硬件
  • 从github下载项目(clone)

    1 首先去官网下载git xff0c 安装 xff08 基本都是默认 xff09 2 本地创建文件夹用来存放下载的项目 3 在第二个文件夹下打开 git bash here 4 复制地址 5 在bash下面输入 git clone 43 地
  • 结构体中有指针成员的逐层malloc 与 free

    1 malloc的时候注意 xff0c 如果结构体有结构体指针成员 xff0c malloc的时候需要逐层都进行malloc 先malloc最外面的event nodeP xff0c 才能访问到event nodeP gt dataP 和
  • 摄像头云台的设计,组装与使用方法

    摄像头云台的设计 xff0c 组装与使用方法 简介三维模型的设计实物组装接线配置环境编写程序实物效果 简介 本篇是摄像头云台的设计与使用方法 xff0c 用树莓派进行控制 xff0c 具体应用于我自制的多功能小车上边 xff0c 目前整个小
  • map文件查看

    map文件里面内容大致分为五大类 xff08 按照map文件分类的顺序 xff09 xff1a 1 Section Cross References xff1a 模块 段 入口 交叉引用 xff1b 2 Removing Unused in
  • AuthenticationProvider AuthenticationManager

    1 AuthenticationManager AuthenticationProvider UserDetailsService 2 多重认证 3 实现
  • docker之dockerFile

    在Dockerfile中用到的命令有 FROM FROM指定一个基础镜像 xff0c 一般情况下一个可用的 Dockerfile一定是 FROM 为第一个指令 至于image则可以是任何合理存在的image镜像 FROM 一定是首个非注释指