专栏订阅传送门
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
命令执行完成后,临时文件系统将被卸载,其中的数据将不会被保留。