将scala应用程序部署为docker容器

将scala应用程序部署为docker容器,scala,docker,sbt,sbt-assembly,Scala,Docker,Sbt,Sbt Assembly,我正在尝试将这个很棒的Scala应用程序部署为Docker容器。 它使用sbt构建系统。我尝试在容器中运行sbt,使用此Dockerfile。 容器构建并启动,然后立即退出 我猜sbt run是一个交互式进程,而不是一个后台进程。在容器中运行sbt可能是个坏主意 我开始研究sbt程序集,以创建一个可以执行的胖jar。 我在执行sbt汇编时遇到一些错误 C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\

我正在尝试将这个很棒的Scala应用程序部署为Docker容器。

它使用sbt构建系统。我尝试在容器中运行sbt,使用此Dockerfile。

容器构建并启动,然后立即退出

我猜
sbt run
是一个交互式进程,而不是一个后台进程。在容器中运行
sbt
可能是个坏主意

我开始研究sbt程序集,以创建一个可以执行的胖jar。

我在执行
sbt汇编时遇到一些错误


C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/impl/SimpleLog.class
在sbtasemply.Assembly$.applyStrategies上(Assembly.scala:140)
在sbtasemply.Assembly$.x$1$lzycompute$1(Assembly.scala:25)
在sbtasemply.Assembly$.x$1$1(Assembly.scala:23)
在sbtasemply.Assembly$.stratMapping$lzycompute$1(Assembly.scala:23)
在sbtasemply.Assembly$.stratMapping$1(Assembly.scala:23)
在sbtasemply.Assembly$.inputs$lzycompute$1(Assembly.scala:67)
在sbtasemply.Assembly$处输入$1(Assembly.scala:57)
在sbtasemply.Assembly$.apply处(Assembly.scala:83)
在sbtasemply.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:240)处
在sbtasemply.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:237)
在scala.Function1$$anonfun$compose$1.apply处(Function1.scala:47)
在sbt.$tilde$morerar$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
在sbt.std.Transform$$anon$4.work(System.scala:63)
在sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
在sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
在sbt.ErrorHandling$.wideConvert时(ErrorHandling.scala:17)
在sbt.Execute.work(Execute.scala:237)
在sbt.Execute$$anonfun$submit$1.apply处(Execute.scala:228)
在sbt.Execute$$anonfun$submit$1.apply处(Execute.scala:228)
在sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)中
在sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.Executors$RunnableAdapter.call(未知源)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
[错误](*:程序集)重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty handler\jars\netty-handler-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty buffer\jars\netty-buffer-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty common\jars\netty-common-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty transport\jars\netty-transport-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty codec\jars\netty-codec-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty codec http\jars\netty-codec-http-4.0.36.Final.jar:META-INF/io.netty.versions.properties
[错误]C:\Users\rzachariah\.ivy2\cache\io.netty\netty transport native epoll\jars\netty-transport-native-epoll-4.0.36.Final-linux-x86_64.jar:META-INF/io.netty.versions.properties
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/Log.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/Log.class
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/LogConfigurationException.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/LogConfigurationException.class
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/LogFactory.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/LogFactory.class
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/impl/NoOpLog.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/impl/NoOpLog.class
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/impl/SimpleLog$1.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/impl/SimpleLog$1.class
[错误]重复数据消除:在以下位置发现不同的文件内容:
[错误]C:\Users\rzachariah\.ivy2\cache\org.slf4j\jcl-over-slf4j\jars\jcl-over-slf4j-1.7.19.jar:org/apache/commons/logging/impl/SimpleLog.class
[错误]C:\Users\rzachariah\.ivy2\cache\commons logging\commons logging\jars\commons-logging-1.1.jar:org/apache/commons/logging/impl/SimpleLog.class
[错误]总时间:5秒,已完成2016年10月10日下午6:41:44

我想我需要定义一个合并
sbt docker:publishLocal