该
-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,
所以问题是:
VOLUMEin中有
Dockerfile什么用?
容器文件系统由层组成,因此在其中写入比普通文件系统要慢且受限制(由于层数固定)。
您
VOLUME在中声明
Dockerfile以表示您的容器将在哪里写入应用程序数据。例如,一个数据库容器,无论放入什么容器中,其数据都会进入一个卷中
dockerrun。
如果您为JBoss创建一个docker容器,并且想使用快速文件系统访问,则
libaio需要将数据目录声明为,
VOLUME否则JBoss将在启动时崩溃。
总之,
VOLUME无论您做什么,都声明一个卷
docker run。实际上,
dockerrun您不能撤消在中
VOLUME所做的声明
Dockerfile。
问候
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)