使用sbt-native-packager构建Scala应用Docker镜像遇问题
解决sbt-native-packager构建Docker镜像后找不到Dockerfile及验证镜像的问题
一、验证Docker镜像是否已生成
执行sbt docker:publishLocal后,直接通过Docker命令查看本地镜像库:
docker images
你配置的镜像名称是testImage/book-system-task,版本为0.1.0-SNAPSHOT,在输出结果里查找对应条目即可确认镜像是否成功构建。
二、找到自动生成的Dockerfile
sbt-native-packager默认不会将Dockerfile输出到项目根目录,而是存放在sbt临时构建目录中,具体路径为:
target/docker/stage/Dockerfile
该路径相对你的项目根目录,直接前往此位置就能找到生成的Dockerfile。
三、针对Akka-HTTP应用的补充配置建议
由于你的应用在8080端口提供服务,建议在build.sbt中添加端口暴露配置,这样启动容器时无需手动指定端口映射规则:
Docker / exposedPorts := Seq(8080)
另外,你使用的sbt 1.2.8版本较旧,虽然当前sbt-native-packager 1.7.2兼容,但后续若遇到构建问题,可考虑升级sbt至更稳定的版本(如1.9.x系列)。
内容的提问来源于stack exchange,提问作者Zaryab Ali
相关产品推荐
相关产品推荐

