摘要:本文將著重介紹使用來部署一個基于的應用程序會多么便捷,當然這個過程主要基于插件。如你所見,這是一個基于的應用程序。這個基于的應用程序將無法被訪問。總結可以如此簡單地給一個基于的應用程序建立,相信很多人都會像筆者一樣離不開它。
本文作者 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 官方博客。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26459.html
摘要:通過如下命令發布控制臺,運行編寫的默認程序。默認禁用,啟用它需要打開并取消注釋以下行。啟用數據庫啟動應用程序的數據庫,框架提供了內置的數據庫的支持。當用戶發出請求到,一個新的將被創建。方法為給定的獲取,把這個轉換成格式并返回響應。 編者注:我們發現了有趣的系列文章《30天學習30種新技術》,正在翻譯,一天一篇更新,年終禮包。下面是第 30 天的內容。 今天是最后一天,我決定學習一...
摘要:為了使用最新的,升級到配置修改根據官網的升級指南,修改文件,更改插件版本號文件中,把和單獨加入。此文件為首頁的模板。推測可能是版本和版本的首頁模板不同,于是到官網下載版本的,找到并覆蓋項目的相應文件。添加插件的語句至此,升級成功完成。 為了使用最新的Play WS Api,升級到play 2.6.21 1.配置修改 根據官網的升級指南,修改plugins.sbt文件,更改插件版本號:a...
摘要:本章用于講解如何在下構建和運行。編譯發版都是基于的容器,下完成的。 本章用于講解如何在walle下構建和運行JavaWeb。主要包含SpringBoot,ScalaAkkaWeb應用,以Java -jar和Docker運行兩種方式(Tomcat方式不講,大家自行研究) 新建項目 項目中心 > 項目管理 > 新建項目 以下是一份配置好的項目表 分組 項目 參考 備注 基本配置 ...
摘要:特別是在可能返回空的集合的情況下務必返回一個內容為空的集合而不是一個。對于集合類型,應該在任何允許的情況下使用的或者類。框架框架是你部署代碼的一個很好地方式,其中較好的選擇有與。包含了大量與文件相關的操作。 原文地址:這里 Java是目前世界上最流行的編程語言之一,但是并不是所有人都樂于使用它。不過Java其實是一個還不錯的語言,也別是自從Java 8正式發布之后,所以我決定將我的一些...
摘要:是當時唯一的書,而且只有語言規范。仍然在中使用未來可能被取代,但不是現在。仍然是大學里教授的主要語言,并且存在于很多優秀的庫中,比如。筆者期待積極的討論。的確存在缺陷,但這些缺陷并不妨礙它在世界上最主要的公司和系統內全天候地完成工作。 【編者按】本文作者為資深碼農 Tim Spann,主要講述 Java 讓人無法抗拒的眾多優點以及一些些缺陷。本文系國內 ITOM 管理平臺 OneAPM...
閱讀 1125·2021-11-24 09:38
閱讀 3229·2021-11-19 09:56
閱讀 2955·2021-11-18 10:02
閱讀 721·2019-08-29 12:50
閱讀 2566·2019-08-28 18:30
閱讀 859·2019-08-28 18:10
閱讀 3659·2019-08-26 11:36
閱讀 2640·2019-08-23 18:23