您好,感谢您抽出宝贵时间:)
目前我遇到了sbt-native-packager和Docker的一些问题。我对此比较陌生。实际上,这是我的第一次尝试。这是我的问题: 我有一个Actor,它应该响应HTTP请求。如果我在没有Docker的情况下运行它,它工作正常。现在我希望它被构建为Dockercontainer(有几个同伴,所以我使用docker compose)。因此,我使用sbt-native-packager,但现在我点击了 localhost:4444我刚收到"未找到"。所以我认为我的dockerBuild设置有问题。我无法找到:(
这里有一些代码:
设置
lazy val graphiteprocSetting = eventprocSettings ++ Seq(
name := "graphite-processor",
dockerBaseImage := "nimmis/java:oracle-8-jdk",
daemonUser in Docker := "root",
debianChangelog in Debian := Some(file("*")),
mainClass in Compile := Some("*.StreamProcessorKafkaToGraphite"))
构建
lazy val graphiteproc = Project(
id = "graphiteproc",
base = file("modules/graphiteproc"),
settings = graphiteprocSetting
).enablePlugins(DebianPlugin, JavaServerAppPackaging, DebianDeployPlugin, DockerPlugin, BuildInfoPlugin)
多克尔-compose.yml
graphiteprocessor:
# TODO insert correct version via sbt
image: graphite-processor:0.1.13-SNAPSHOT
volumes:
- ./conf:*
environment:
JAVA_OPTS: "-Dconfig.file=*"
ports:
- "4444:4444"
links:
- graphite
- kafka
docker inspect的输出:
"NetworkSettings": {
...
"Ports": {
"4444/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "4444"
}
]
},
...
"Gateway": "172.17.0.1",
...
"IPAddress": "172.17.0.2",
"Networks": {
"bridge": {
...
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
...
}
}
}
答案 0 :(得分:2)
使用0.0.0.0作为主机并将基本映像更改为gdepuille / fedora-java为我工作。
答案 1 :(得分:1)
当你构建图像石墨处理器:0.1.13-SNAPSHOT你在指令中使用'EXPOSE 4444'吗?如果没有,端口映射-p 4444:4444将无效。