根据你创建应用的开发环境,我总能伤心的看到所有潜在的危险损害着你本地系统。你总是用同样的方式让你得系统变得一团糟。这个和你用什么开发语言或是什么开发框架没有关系,但是Java(和Maven)是个好东西,嗯,我还是举个例子吧!
开发环境不仅仅是IDE或者JDK,很多情况下都得有个应用服务器。我们的应用在开发服务器上工作良好,但当我们将其部署在正式服务器上时,有问题了:不同的JDK,不同的网络接口以及其它很多不同。所有的东西都会影响你的应用。
想想看如果现在有一个环境和你产品运行环境一模一样。
欢迎Docker!
Docker可以让你容易的创建容器快照。这意味着你可以在仓库中部署你的应用,创建快照,以及推送图片,然后你可以在仓库中启动应用。
我想写一系列有关Docker的博客,在博客中我将介绍怎样在Java(不仅仅是)世界中运用Docker让开发变得让人愉悦以及每次迭代修正都是可以预料的。
这个博客中我将集中介绍应用服务器部署问题,以及怎样创建WildFly Java应用开发环境。我们将用JBoss Developer Studio作为IDE开发,然后将应用部署到服务器Docker容器里运行。奇怪吧?别急,继续读吧!不过要注意下面的东西可能很难懂,因为这是我第一次这么做。任何友好的提示开发者都会喜欢的,只需要你在评论中做一些笔记就行。
首先我们得需要下面这些东西:
下一步假设你已经将所有需要的安装完毕并能正常工作。
我在WildFly上创建了Docker镜像。应用服务器已经配置好了后准备工作,然后我们可以在IDE中管理和部署应用了。
这个镜像在Docker里的goldmann/jbds-wildfly仓库中。
请pull这个仓库。你将得到最新的版本:
docker pull goldmann/jbds-wildfly你现在可以运行这个命令并确认它是否正常工作。
$ docker run -i -t goldmann/jbds-wildfly:wildfly 容器以开始运行了。你可以用你得IDE部署你的应用了
好的,它已经开始工作了。现在我们可以继续设置IDE了。
注意:你可以用-d switch来使你的容器进入分离模式。你可以参考运行命令文档。
让我们打开JBDE来看看应用服务器相关的知识。
现在,我们可以尝试连接到该容器,在该连接上单击右键,选择连接。你会被询问密码和用户ID,请输入useroot/verysecure。
请注意,如果你选择了保存密码选项,就会被要求创建/使用安全Secure Storage Password。
还有一个很好的功能,那就是Ssh Terminal——你可以启动一个终端,直接在容器内执行命令。试试吧!
下一步,在主目录字段中指定目录到你解压WildFly压缩包后的内容所放置的地方。
接下来请检查侦听的所有接口...,并且暴露出你的管理复选框。我们需要将部署从本地变更到远程,请在下拉列表中选择远程系统部署。
完成了主机设置向导后,请在下拉列表中选择新建Docker主机。
如此我们就已经准备好来设置远程服务器主机域了。点击 Browse and expand Root >/> USR/ > share > wildfly。
最后一件事是更改服务器的设置,双击新创建的服务器。
在服务器端口部分,请将Web端口设置成18080,管理端口设置成19990。
在管理登录凭据部分请输入admin和Admin#70365作为凭据。
现在,你就可以尝试启动您的服务器了。见控制台选项卡的输出。
OK,我们已经定义了一个新的服务器,这是一个运行着的容器。让我们编写一个应用程序来使用它!
JBoss的开发者为多种技术提供了一个基于JBoss开发框架的样例集。有许多文章和视频,想要更多令人激动的信息,请访问这里https://github.com/jboss-developer/jboss-eap-quickstarts[code].
我们将,通过创建一个新工程来使用一个样例,选择 File>New>Example...>Project Example。随便选择一个你想要的例子。我使用的是Web Application>kitchensink .
JBDS 将会下载所有需要的代码,并为运行做准备。
最后一步就是将应用添加到服务器上。它会被自动部署,在这个地址可以查看到http://localhost:18080/jboss-as-kitchensink 。
请注意,你可以停止容器,运行其他的,并且你能够继续开发你的应用。
如果你遇到了一次很长时间的部署,那你很可能是遇到JBIDE-12202问题,这将会在下一版JBDS中修复。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务