Dockerfile中的VOLUME声明与-v作为docker run参数之间的区别

Dockerfile中的VOLUME声明与-v作为docker run参数之间的区别,第1张

Dockerfile中的VOLUME声明与-v作为docker run参数之间的区别

-v
参数和
VOLUME
关键字几乎是相同的。您可以使用
-v
具有与相同的行为
VOLUME

docker run -v /data

如同

VOLUME /data

但是-v还有更多用途,其中之一是映射到该卷的位置:

docker run -v data:/data # Named volumesdocker run -v /var/data:/data # Host mounted volumes, this is what you refer to -v use, but as you can see there are more uses,

所以问题是:

VOLUME
in中有
Dockerfile
什么用?

容器文件系统由层组成,因此在其中写入比普通文件系统要慢且受限制(由于层数固定)。

VOLUME
在中声明
Dockerfile
以表示您的容器将在哪里写入应用程序数据。例如,一个数据库容器,无论放入什么容器中,其数据都会进入一个卷中
dockerrun

如果您为JBoss创建一个docker容器,并且想使用快速文件系统访问,则

libaio
需要将数据目录声明为,
VOLUME
否则JBoss将在启动时崩溃。

总之,

VOLUME
无论您做什么,都声明一个卷
docker run
。实际上,
dockerrun
您不能撤消在中
VOLUME
所做的声明
Dockerfile

问候



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5007173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存