0
点赞
收藏
分享

微信扫一扫

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


 Dockerfile中指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(​​引用至官方文档>>>​​) 

        纰漏处还请大佬指正  

语法

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

Dockerfile命令详解之 RUN(四):RUN --mount=type=tmpfs_docker

        这里--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

Dockerfile命令详解之 RUN(四):RUN --mount=type=tmpfs_docker_02

        在上面的示例中,我们使用 ​​RUN --mount=type=tmpfs​​​ 命令来挂载一个大小为 100MB 的临时文件系统到 ​​/mnt​​​ 目录,并在其中执行 ​​touch​​​ 命令以创建一个测试文件。​​size​​​ 选项指定临时文件系统的大小,​​uid​​​ 和 ​​gid​​​ 选项指定文件系统的用户和组,​​mode​​​ 选项指定文件系统的访问权限。在 ​​RUN​​ 命令执行完成后,临时文件系统将被卸载,其中的数据将不会被保留。


举报

相关推荐

0 条评论