使用 WildFly, JBoss Developer Studio 和 Docker 开发应用

这是什么,这又是为什么

根据你创建应用的开发环境,我总能伤心的看到所有潜在的危险损害着你本地系统。你总是用同样的方式让你得系统变得一团糟。这个和你用什么开发语言或是什么开发框架没有关系,但是Java(和Maven)是个好东西,嗯,我还是举个例子吧!

开发环境不仅仅是IDE或者JDK,很多情况下都得有个应用服务器。我们的应用在开发服务器上工作良好,但当我们将其部署在正式服务器上时,有问题了:不同的JDK,不同的网络接口以及其它很多不同。所有的东西都会影响你的应用。

想想看如果现在有一个环境和你产品运行环境一模一样。

欢迎Docker!

Docker可以让你容易的创建容器快照。这意味着你可以在仓库中部署你的应用,创建快照,以及推送图片,然后你可以在仓库中启动应用。

我想写一系列有关Docker的博客,在博客中我将介绍怎样在Java(不仅仅是)世界中运用Docker让开发变得让人愉悦以及每次迭代修正都是可以预料的。

TD;DR;

这个博客中我将集中介绍应用服务器部署问题,以及怎样创建WildFly Java应用开发环境。我们将用JBoss Developer Studio作为IDE开发,然后将应用部署到服务器Docker容器里运行。奇怪吧?别急,继续读吧!不过要注意下面的东西可能很难懂,因为这是我第一次这么做。任何友好的提示开发者都会喜欢的,只需要你在评论中做一些笔记就行。

预备知识

首先我们得需要下面这些东西:

  1. JDK:你系统上必须有的东西,如果没有,执行命令:yum install java-develshould help(linux系统)。或者访问Oracle ...
  2. Docker:如果你运行的是Fedora操作系统,你可以用docker-io打包可用的repo文件。要不你也可以访问Docker网站中的安装介绍
  3. JBoss Developer Studio:你可以从这里下载。
  4. WildFly:这个需要IDE来检测服务器版本以及需要所有必须的本地库。我们可以在这里下载。请下载8.0.0.Beta1版本。

下一步假设你已经将所有需要的安装完毕并能正常工作。

Docker 镜像

我在WildFly上创建了Docker镜像。应用服务器已经配置好了后准备工作,然后我们可以在IDE中管理和部署应用了。

这个镜像在Docker里的goldmann/jbds-wildfly仓库中。

请pull这个仓库。你将得到最新的版本:

1 docker pull goldmann/jbds-wildfly
你现在可以运行这个命令并确认它是否正常工作。
1 $ docker run -i -t goldmann/jbds-wildfly:wildfly
2     容器以开始运行了。你可以用你得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。

使用 WildFly, JBoss Developer Studio 和 Docker 开发应用_第1张图片

现在,我们可以尝试连接到该容器,在该连接上单击右键,选择连接。你会被询问密码和用户ID,请输入useroot/verysecure。
请注意,如果你选择了保存密码选项,就会被要求创建/使用安全Secure Storage Password。
还有一个很好的功能,那就是Ssh Terminal——你可以启动一个终端,直接在容器内执行命令。试试吧!

排除故障

如果碰到的任何问题,请尝试以下操作: 
  1. 请确保Docker容器是运行这的。
  2. 检查防火墙。(至少在Fedora中)Docker容器连接到了Docker0接口。
  3. 如果这没有帮助,那就写点评论让我知道,我会尽力帮助你的。

添加新服务器

请解压你下载的WildFly压缩包。 
在服务器选项卡中请选择添加新的服务器。从可用的服务器列表中选择的JBoss Community > WildFly8.0(实验版),然后点击下一步。 
请将服务器的主机名称字段从localhost  变更到0.0.0.0。因为容器的性质,这将让我们可以从IDE中直接管理服务器。

使用 WildFly, JBoss Developer Studio 和 Docker 开发应用_第2张图片

下一步,在主目录字段中指定目录到你解压WildFly压缩包后的内容所放置的地方。

接下来请检查侦听的所有接口...,并且暴露出你的管理复选框。我们需要将部署从本地变更到远程,请在下拉列表中选择远程系统部署。

完成了主机设置向导后,请在下拉列表中选择新建Docker主机。

如此我们就已经准备好来设置远程服务器主机域了。点击 Browse and expand Root >/> USR/ > share > wildfly。

使用 WildFly, JBoss Developer Studio 和 Docker 开发应用_第3张图片

最后一件事是更改服务器的设置,双击新创建的服务器。

在服务器端口部分,请将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 。

使用 WildFly, JBoss Developer Studio 和 Docker 开发应用_第4张图片

完成

请注意,你可以停止容器,运行其他的,并且你能够继续开发你的应用。

如果你遇到了一次很长时间的部署,那你很可能是遇到JBIDE-12202问题,这将会在下一版JBDS中修复。 

你可能感兴趣的:(应用服务器,jboss,远程连接,应用程序,开发框架)