如何在docker artifactory容器中将自己定位的文件夹用作卷?

Mik*_*peg 5 artifactory docker

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

它工作和神器已启动并运行,但这样我就无法使用自己的主机目录作为容器卷进行链接.该指南说要使用

-v /var/opt/jfrog/artifactory/etc
-v /var/opt/jfrog/artifactory/data
-v /var/opt/jfrog/artifactory/backup
-v /var/opt/jfrog/artifactory/logs
Run Code Online (Sandbox Code Playgroud)

运行容器时的选项,但这样我得到的卷存储在一些/ 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
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

** ERROR: Artifactory home folder not defined or does not exists at
Run Code Online (Sandbox Code Playgroud)

有没有人以前试过这个?我该如何管理它?

谢谢,米歇尔.

Von*_*onC 3

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

这应该意味着export ARTIFACTORY_HOME=/var/opt/jfrog/artifactory尚未执行(无论您是否使用卷)。

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

另请参阅此支持线程。


OP Mikyjpeg在评论中添加:

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

我原以为该-v选项在这两种情况下都会创建空卷,但现在我知道事实并非如此。