构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将不起作用。