如何对一个 Scala 编写的 kafka 生产者进行 dockerize 和编写 dockerfile
How to dockerize and write a dockerfile a Scala written kafka producer
我是 docker 的新手,一直在尝试了解如何编写 docker 文件来创建我的自定义图像。我的 Scala class 正在不断地向主题生成消息。我想用 dockers 重现相同的功能。有人可以帮我处理 docker 文件吗?
我试过使用 sbt docker:publishLocal,它创建了图像,但是当我尝试 运行 图像时,它说无法找到 class。我特别希望使用 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")
我是 docker 的新手,一直在尝试了解如何编写 docker 文件来创建我的自定义图像。我的 Scala class 正在不断地向主题生成消息。我想用 dockers 重现相同的功能。有人可以帮我处理 docker 文件吗?
我试过使用 sbt docker:publishLocal,它创建了图像,但是当我尝试 运行 图像时,它说无法找到 class。我特别希望使用 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")