我正在按照这些说明运行一个神器容器: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
运行容器时的选项,但是通过这种方式,我获得了卷存储在某些/ 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
有人之前已经尝过这个吗?我该如何管理?
谢谢, 米歇尔。
答案 0 :(得分:3)
Artifactory主文件夹未定义或
不存在
这应该意味着export ARTIFACTORY_HOME=/var/opt/jfrog/artifactory
没有被执行(无论你是否正在使用卷)。
这也意味着您应该使用docker run
环境选项执行-e ARTIFACTORY_HOME=/var/opt/jfrog/artifactory
。
我终于找到了问题:
容器的/var/opt/jfrog/artifactory/etc
文件夹中有一个文件,用于设置所有环境变量。此文件由卷映射擦除(因为它在我的主机上不存在),它在命令启动时重新创建但具有不同的内容。
所以我从一个工作容器中复制了这个文件,放入我的主机etc
映射卷并再次运行。现在它有效。我假设
-v
选项在任何一种情况下都会创建空卷,但现在我知道它不是真的。