WildFly JBoss Developer Studio和Docker开发应用
这是什么,这又是为什么
根据你创建应用的开发环境,我总能伤心的看到所有潜在的危险损害着你本地系统。你总是用同样的方式让你得系统变得一团糟。这个和你用什么开发语言或是什么开发框架没有关系,但是Java(和Maven)是个好东西,嗯,我还是举个例子吧!
开发环境不仅仅是IDE或者JDK,很多情况下都得有个应用服务器。我们的应用在开发服务器上工作良好,但当我们将其部署在正式服务器上时,有问题了:不同的JDK,不同的网络接口以及其它很多不同。所有的东西都会影响你的应用。
想想看如果现在有一个环境和你产品运行环境一模一样。
欢迎Docker!
Docker可以让你容易的创建容器快照。这意味着你可以在仓库中部署你的应用,创建快照,以及推送图片,然后你可以在仓库中启动应用。
我想写一系列有关Docker的博客,在博客中我将介绍怎样在Java(不仅仅是)世界中运用Docker让开发变得让人愉悦以及每次迭代修正都是可以预料的。
TD;DR;
这个博客中我将集中介绍应用服务器部署问题,以及怎样创建WildFly Java应用开发环境。我们将用JBoss Developer Studio作为IDE开发,然后将应用部署到服务器Docker容器里运行。奇怪吧?别急,继续读吧!不过要注意下面的东西可能很难懂,因为这是我第一次这么做。任何友好的提示开发者都会喜欢的,只需要你在评论中做一些笔记就行。
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来使你的容器进入分离模式。你可以参考运行命令文档。
JBoss开发环境
让我们打开JBDE来看看应用服务器相关的知识。
添加一个新的远程连接
请注意,你可以通过导入连接跳过这一步。用鼠标右键单击Remote Systems选项卡,选择导入....
在Remote Systems选项卡中,我们需要创建一个连接到Docker容器的新链接。请从列表中选择Linux。
接下来请让主机名字段中输入有LOCALHOST。最后是指定连接名,我选择了Docker。
请注意,这里的Docker图像导出了以下Docker端口:22,8080 和 9990作为本地端口:10022,18080 和 19990。
在Files这一步,请选择ssh.files的配置。在Processes这一步,请选择 processes.shell.linuxconfiguration。在Shells这一步,请选择ssh.shells配置。在Ssh Terminals这一步,请选择thessh.terminals配置。
创建好连接之后,请右键单击Ssh Terminals,并选择Subsystems。在该页面中我们需要将端口从22变更到10022。
现在,我们可以尝试连接到该容器,在该连接上单击右键,选择连接。你会被询问密码和用户ID,请输入useroot/verysecure。
请注意,如果你选择了保存密码选项,就会被要求创建/使用安全Secure Storage Password。
还有一个很好的功能,那就是Ssh Terminal——你可以启动一个终端,直接在容器内执行命令。试试吧!
排除故障
如果碰到的任何问题,请尝试以下操作:
- 请确保Docker容器是运行这的。
- 检查防火墙。(至少在Fedora中)Docker容器连接到了Docker0接口。
- 如果这没有帮助,那就写点评论让我知道,我会尽力帮助你的。
添加新服务器
请解压你下载的WildFly压缩包。
在服务器选项卡中请选择添加新的服务器。从可用的服务器列表中选择的JBoss Community > WildFly8.0(实验版),然后点击下一步。
请将服务器的主机名称字段从localhost 变更到0.0.0.0。因为容器的性质,这将让我们可以从IDE中直接管理服务器。
下一步,在主目录字段中指定目录到你解压WildFly压缩包后的内容所放置的地方。
应用程序
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 。
完成