欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用 docker 部署一个基于 play framework 的 scala web 应用? -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 编程问答 12 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 如何使用 docker 部署一个基于 play framework 的 scala web 应用? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘python工程师标准>>>

本文作者 jacek laskowski 拥有近20年的应用程序开发经验,现 codilime 的软件开发团队 leader,曾从 ibm 取得多种资格认证。在这篇博文中,jacek 分享了 warsaw scala enthusiasts meetup 上 rafal krzewski 介绍的一个 docker sbt 插件。本文系 oneapm 工程师编译整理:

虽然在 deepsense.io 项目中,docker 已得到了非常深入的应用,但是如果没有接触到 rafal krzewski 在 warsaw scala enthusiasts meetup 上分享的两个 docker sbt 插件中的一个—— sbt-native-packager (另一个是 sbt-docker ),笔者仍然不会意识到部署一个 scala web 应用程序可以这么简单。

本文将着重介绍使用 docker 来部署一个基于 play framework 的 scala web 应用程序会多么便捷,当然这个过程主要基于 sbt-native-packager 插件。

建立基于 play framework web 的应用程序

通过 typesafe activator 工具使用 activator new 命令建立一个新的 web 应用程序:

使用 cd 命令进入 play-dockerized 目录,并执行 sbt run 命令来启动应用程序:

到了这里,http://localhost:9000 已经可以被访问了。如你所见,这是一个基于 play framework 2.4.2 的 web 应用程序。

发布 docker image——docker:publishlocal

因为要使用 sbt-native-packager 插件,所以需要使用 ctrl d 结束之前的命令,并且执行 sbt docker:publishlocal命令:

在这里,相信很多人已经看到了 sbt-native-packager 插件设计的聪明之处,它非常巧妙地利用 publishlocal 任务来发布一个 docker repository。

通过上一步,一个全新的 docker image play-dockerized:1.0-snapshot 被建立,这里可以使用 docker images 来查看它的属性。

docker 时间!

你可以使用 docker run 命令在 play-dockerized 外开启一个容器。

docker run 命令的替代选项是使用 -p 来发现 docker 虚拟网络之外的9000端口(本地可用端口是8080),同时使用-- name 为容器友好命名,而不是默认的哈希命名方式。

在另一个终端 docker ps 来查看容器的运行情况:

通过 docker stop play-8080 来终止这个容器。这个基于 play framework 的应用程序将无法被访问。如果重新启动的话,可以执行 docker start play-8080 命令。

总结

可以如此简单地给一个基于 play framework 的 scala web 应用程序建立 docker image,相信很多人都会像笔者一样离不开它。一旦将一个应用程序转换成 docker image,那么你就可以使用其他命令,同时你也可以甩开应用程序对环境的依赖。

原文链接:docker your scala web application (play framework)

本文系 oneapm 工程师编译整理。oneapm 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 sql 语句的实时抓取。想技术文章,请访问 oneapm 官方博客。

转载于:https://my.oschina.net/oneapmofficial/blog/490350

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的如何使用 docker 部署一个基于 play framework 的 scala web 应用?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

网站地图