Dockerfile命令详解之 RUN(四):RUN –mount=type=tmpfs

  • Post author:
  • Post category:其他






专栏订阅传送门



https://blog.csdn.net/qq_38220908/category_11989778.html


Dockerfile中指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(

引用至官方文档>>>

)


纰漏处还请大佬指正


语法

​RUN --mount=[type=<TYPE>][,option=<value>[,option=<value>]...]

这里–mount挂载的类型一共有五种:

bind(default) 用于挂载一个上下文目录
cache 主要用于挂载一个临时目录来缓存编译器和包管理器的目录。
tmpfs 主要用于挂载一个tmpfs
secret 允许构建容器访问诸如私钥之类的安全文件,并且此类文件不会出现在构建好的镜像中,避免密钥外泄。
ssh 允许构建容器通过SSH代理访问SSH密钥,并支持密码短语


本篇介绍第三种挂载方式  –mount=type=tmpfs


RUN --mount=type=tmpfs

命令是 Docker 18.09 版本引入的一种新方式,它用于挂载一个临时文件系统(tmpfs)到容器中的某个目录,并在容器内执行指定的命令。使用这种方式,可以在运行容器时动态创建一个临时的文件系统,从而提高容器的性能和安全性,因为临时文件系统中的数据将不会被持久化。


--mount

参数用于挂载一个文件系统,其常用的选项包括:


  • type

    :指定挂载类型,可以是

    bind

    (挂载主机文件系统)、

    volume

    (挂载 Docker 卷)、

    tmpfs

    (挂载临时文件系统)等;

  • source

    :指定挂载源,可以是本地文件系统路径、Docker 卷名或 tmpfs 名称;

  • target

    :指定挂载目标,即挂载到容器中的目录或文件;

  • options

    :指定挂载选项,例如

    ro

    (只读)或

    rw

    (读写)等。

使用示例:

FROM alpine:latest

# 挂载一个大小为100MB的临时文件系统到 /mnt 目录,并在其中执行命令
RUN --mount=type=tmpfs,size=100m,uid=1000,gid=1000,mode=0755 \
    touch /mnt/test_file

在上面的示例中,我们使用

RUN --mount=type=tmpfs

命令来挂载一个大小为 100MB 的临时文件系统到

/mnt

目录,并在其中执行

touch

命令以创建一个测试文件。

size

选项指定临时文件系统的大小,

uid



gid

选项指定文件系统的用户和组,

mode

选项指定文件系统的访问权限。在

RUN

命令执行完成后,临时文件系统将被卸载,其中的数据将不会被保留。



版权声明:本文为qq_38220908原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。