摘要:本文將著重介紹使用來部署一個基于的應(yīng)用程序會多么便捷,當(dāng)然這個過程主要基于插件。如你所見,這是一個基于的應(yīng)用程序。這個基于的應(yīng)用程序?qū)o法被訪問。總結(jié)可以如此簡單地給一個基于的應(yīng)用程序建立,相信很多人都會像筆者一樣離不開它。
本文作者 Jacek Laskowski 擁有近20年的應(yīng)用程序開發(fā)經(jīng)驗(yàn),現(xiàn) CodiLime 的軟件開發(fā)團(tuán)隊(duì) Leader,曾從 IBM 取得多種資格認(rèn)證。在這篇博文中,Jacek 分享了 Warsaw Scala Enthusiasts Meetup 上 Rafal Krzewski 介紹的一個 Docker sbt 插件。本文系 OneAPM 工程師編譯整理:
雖然在 DeepSense.io 項(xiàng)目中,Docker 已得到了非常深入的應(yīng)用,但是如果沒有接觸到 Rafal Krzewski 在 Warsaw Scala Enthusiasts Meetup 上分享的兩個 Docker sbt 插件中的一個—— sbt-native-packager (另一個是 sbt-docker ),筆者仍然不會意識到部署一個 Scala Web 應(yīng)用程序可以這么簡單。
本文將著重介紹使用 Docker 來部署一個基于 Play Framework 的 Scala Web 應(yīng)用程序會多么便捷,當(dāng)然這個過程主要基于 sbt-native-packager 插件。
建立基于 Play Framework Web 的應(yīng)用程序
通過 Typesafe Activator 工具使用 activator new 命令建立一個新的 Web 應(yīng)用程序:
使用 cd 命令進(jìn)入 play-dockerized 目錄,并執(zhí)行 sbt run 命令來啟動應(yīng)用程序:
到了這里,http://localhost:9000 已經(jīng)可以被訪問了。如你所見,這是一個基于 Play Framework 2.4.2 的 Web 應(yīng)用程序。
發(fā)布 Docker image——docker:publishLocal
因?yàn)橐褂?sbt-native-packager 插件,所以需要使用 Ctrl+D 結(jié)束之前的命令,并且執(zhí)行 sbt docker:publishLocal命令:
在這里,相信很多人已經(jīng)看到了 sbt-native-packager 插件設(shè)計的聰明之處,它非常巧妙地利用 publishLocal 任務(wù)來發(fā)布一個 Docker repository。
通過上一步,一個全新的 Docker image play-dockerized:1.0-SNAPSHOT 被建立,這里可以使用 docker images 來查看它的屬性。
Docker 時間!
你可以使用 docker run 命令在 play-dockerized 外開啟一個容器。
docker run 命令的替代選項(xiàng)是使用 -p 來發(fā)現(xiàn) Docker 虛擬網(wǎng)絡(luò)之外的9000端口(本地可用端口是8080),同時使用-- name 為容器友好命名,而不是默認(rèn)的哈希命名方式。
在另一個終端 docker ps 來查看容器的運(yùn)行情況:
通過 docker stop play-8080 來終止這個容器。這個基于 Play Framework 的應(yīng)用程序?qū)o法被訪問。如果重新啟動的話,可以執(zhí)行 docker start play-8080 命令。
總結(jié)
可以如此簡單地給一個基于 Play Framework 的 Scala Web 應(yīng)用程序建立 Docker image,相信很多人都會像筆者一樣離不開它。一旦將一個應(yīng)用程序轉(zhuǎn)換成 Docker image,那么你就可以使用其他命令,同時你也可以甩開應(yīng)用程序?qū)Νh(huán)境的依賴。
原文鏈接:Docker Your Scala Web Application (Play Framework)
本文系 OneAPM 工程師編譯整理。想閱讀更多技術(shù)文章,請?jiān)L問 OneAPM 官方博客。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/26459.html