如何dockerization和编写dockerfile 一个Scala编写的kafka生产者



我是 docker 新手,一直在尝试了解如何编写 docker 文件来创建我的自定义映像。我的 Scala 类正在不断生成有关主题的消息。我想用码头工人重现相同的功能。有人可以帮我处理码头工人文件吗?

我尝试使用 sbt docker:publishLocal,它会创建映像,但是当我尝试运行映像时,它说找不到类。我特别希望使用 docker 文件运行它。

这是在 intelliJ 中工作的代码

import java.util.Properties
import org.apache.kafka.clients.producer._

object Scala_producer extends App{


val  props = new Properties()
props.put("bootstrap.servers", "localhost:9092")
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
val producer = new KafkaProducer[String, String](props)

val TOPIC="tt"
println(producer.partitionsFor(TOPIC))
while(true){
val record = new ProducerRecord(TOPIC, "key", "hello ")
producer.send(record)
println("producing")
}
producer.close()
}

我希望运行 docker 并获得无限生成消息。

如果这是唯一的问题,则将主类添加到 build.sbt 中:

mainClass in Compile := Some("com.example.Scala_producer")

最新更新