如何在docker artifactory容器中使用自己的文件夹作为卷?

我正在按照这些说明运行artifactory容器: https : //www.jfrog.com/confluence/display/RTF/Running+with+Docker

它的工作原理和artifactory启动,但这样我不能使用我自己的主机目录作为容器卷链接。 指南说使用

-v /var/opt/jfrog/artifactory/etc -v /var/opt/jfrog/artifactory/data -v /var/opt/jfrog/artifactory/backup -v /var/opt/jfrog/artifactory/logs 

运行容器时的选项,但以这种方式,我得到的卷是存储在一些/ var / lib / docker / volumes /子文件夹。 我想要的是,例如在我的主机的/ opt / artifactory /

所以我试图以这种方式使用卷映射:

 -v /opt/artifactory/etc:/var/opt/jfrog/artifactory/etc -v /opt/artifactory/data:/var/opt/jfrog/artifactory/data -v /opt/artifactory/backup:/var/opt/jfrog/artifactory/backup -v /opt/artifactory/logs:/var/opt/jfrog/artifactory/logs 

但我得到这个错误:

 ** ERROR: Artifactory home folder not defined or does not exists at 

以前有人试过吗? 我如何pipe理它?

谢谢米歇尔

Artifactory主文件夹未定义或不存在于

这应该意味着export ARTIFACTORY_HOME=/var/opt/jfrog/artifactory没有被执行(不pipe你是否使用卷)。

这也意味着你应该使用-e ARTIFACTORY_HOME=/var/opt/jfrog/artifactory环境选项来执行-e ARTIFACTORY_HOME=/var/opt/jfrog/artifactory

另请参阅此支持线程 。


OP Mikyjpeg 在评论中补充道:

我最终发现了这个问题:
容器的/var/opt/jfrog/artifactory/etc文件夹中有一个文件,用于设置所有的环境variables。 这个文件被卷映射删除(因为它不存在于我的主机上),当命令启动时会重新创build,但内容不同。
所以我已经从一个工作容器复制这个文件,放入我的主机etc映射卷,并再次运行。 现在它工作。

我假设-v选项在两种情况下都会创build空卷,但现在我知道这不是真的。