我尝试为现有结构创建一个新的SSH容器,并使用此命令成功创建:
fabric:container-create-ssh --proxy-uri http://"root-container":8181/maven/download/ --jvm-opts "-Xms1024m -XX:MaxPermSize=1024m -Xmx2014m -Djavax.net.debug=ssl" --path /app/testing/ --host "testIP" --private-key ~/.ssh/id_rsa --profile default --profile anotherprofile --resolver localhostname --zookeeper-password "zookeepr pass" testing-container
问题是,一旦我创建了这个新容器,所有现有的ssh容器都会将其maven下载/上传代理更改为上述容器IP
所以不要使用http://"currentroot":8181/maven/download/
到http://testIP:8181/maven/download/
我尝试了很多来改变"root-container"
结构配置文件和默认配置文件中的maven代理但仍然无法达成解决方案?
在添加新的ssh容器而不更新现有的maven repo时,我是否应该采取措施来解决此问题?
答案 0 :(得分:0)
这取决于anotherprofile
是什么
http://host:port/maven/download/ URI在Zookeeper注册表中注册,由结构环境使用。
fabric-maven-proxy
个人资料中声明的 fabric
功能是负责在安装了此功能/配置文件的任何容器内启动maven代理的功能。请检查您的新容器是否已安装此功能。也许anotherprofile
将fabric
个人资料设为父级?
每个容器在由fabric-agent供应时使用io.fabric8.agent
PID配置(OSGi配置管理员),属性为org.ops4j.pax.url.mvn.repositories
。它包含一个远程存储库列表,搜索要在容器中安装的工件。
但也有一些活力。 Fabric代理始终搜索Zookeeper注册表,并查找由运行上述功能(fabric-maven-proxy
)的其他容器注册的URI。所有此类发现的 URI都预先到org.ops4j.pax.url.mvn.repositories
属性中的列表。
如果您将karaf
配置文件添加到容器中,您将在org.ops4j.pax.logging
PID中提供日志记录配置 - 您可以在hawtio中很好地配置它。默认情况下,有这样的评论部分:
# help with identification of maven-related problems with fabric-maven
#log4j.logger.org.eclipse.aether = TRACE
#log4j.logger.org.apache.http.headers = DEBUG
#log4j.logger.io.fabric8.maven.util = TRACE
#log4j.logger.io.fabric8.maven.url = TRACE
#log4j.logger.io.fabric8.agent.download = DEBUG
您可以取消注释这些内容以查看(更多)有关如何使用maven存储库的更多信息。