忽略Docker卷映射中的某些目录

时间:2019-03-06 13:10:16

标签: docker dockerfile

我有一个将数据保存在容器目录 / var / lib / app-data 中的应用程序。

应备份此容器目录,因为应用程序在运行时会定期更改 / var / lib / app-data 内容。

但是只需要备份/ var / lib / app-data /

下的特定目录和文件。

对于ex以下是应定期在/ var / lib / app-data /下备份文件和目录,因此,即使容器停止了,新容器仍会获得此文件和目录。

  • / var / lib / app-data / ui_log /
  • / var / lib / app-data / node_log /
  • /var/lib/app-data/users/mailer.xml
  • / var / lib / app-data / plugins /

其他文件和目录不应备份到卷。

目前,我只能找到一种映射docker卷的方法,如下所示。

docker run -v forkuidatavolume:/var/lib/app-data mohan/forkui:1.0

但是,除了备份上面提到的目录以外,还可以一步备份目录。 是否可以使用-v或任何其他方式备份特定的容器文件和目录?

谢谢

Mohan

1 个答案:

答案 0 :(得分:0)

您可以在.dockerignore上放置不想添加到Docker映像的文件列表。例如:

.git
/tmp/*
/var/lib/app-data/ui_log/*
/var/lib/app-data/node_log/
/var/lib/app-data/users/mailer.xml
/var/lib/app-data/plugins/*

或者您可以使用多个卷,并将其链接到您的tmp,如下所示:

docker run -v /var/lib/app-data/ui_log/:/tmp/ui_log -v /var/lib/app-data/node_log/:/tmp/node_log ... mohan/forkui:1.0