构build为DockerContainer时无法访问HTTP Servlet

你好,感谢您花时间:)

目前,我正面临着sbt-native-packager和Docker的一些问题。 我对这个比较陌生 其实,这是我的第一次尝试。 我的问题来了:我有一个Actor,它应该响应HTTP请求。 它工作正常,如果我运行它本地没有Docker。 现在我想要它作为一个Dockercontainer(有多个同伴,所以我使用docker撰写)。 因此,我使用sbt-native-packager,但现在当我打localhost:4444时,我只是得到“未find”。 所以我认为我的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")) 

build立

  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检查的输出:

 "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.0.0.0作为主机,并将基础映像更改为gdepuille / fedora-java为我工作。

当您构build图像石墨处理器时:0.1.13-SNAPSHOT是否在指令中使用了“EXPOSE 4444”? 如果没有,端口映射-p 4444:4444将不起作用。