如何将maven jar文件添加到docker容器

时间:2017-10-03 21:11:52

标签: docker sbt maven-3 dockerfile

我有一个运行正常的java docker容器。但是对于乐器我添加了一个新的jvm参数" javaagent"在运行jar文件时。但是jar文件不存在于docker容器中,而是存在于远程maven存储库中。如何将maven jar文件添加到docker容器中,以便在运行jar文件时我可以传递javaagent路径。

java -jar -javaagent:"/Users/xxx/work/aspectjweaver-1.8.9.jar"  ./target/scala-2.11/test-1.0.jar

有什么方法可以将这个文件从maven(而不是我的本地系统)添加到docker容器中?

2 个答案:

答案 0 :(得分:0)

在您Dockerfile中,您可以使用COPY命令

实施例

COPY ./aspectjweaver-1.8.9.jar /container/folder

现在,jar将在您的泊坞广告容器中提供。

答案 1 :(得分:0)

使用SBT,您可以在项目配置中添加以下设置:

.settings(
  retrieveManaged := true,
  libraryDependencies += "org.aspectj" % "aspectjweaver" % aspectJWeaverV)

AspectJ weaver JAR将复制到项目根目录中的./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-[aspectJWeaverV].jar

然后,您可以在Dockerfile中引用此JAR:

COPY ./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-*.jar /app-workdir/aspectjweaver.jar
WORKDIR /app-workdir
CMD ["java", "-javaagent:aspectjweaver.jar", "-jar", "app.jar"]