如何在 Docker 容器中运行支持 OData 的 JBoss 数据虚拟化 GA

大家好,我们今天来学习如何在一个 Docker 容器中运行支持 OData(译者注:Open Data Protocol,开放数据协议) 的 JBoss 数据虚拟化 6.0.0 GA(译者注:GA,General Availability,具体定义可以查看WIKI)。JBoss 数据虚拟化是数据提供和集成解决方案平台,将多种分散的数据源转换为一种数据源统一对待,在正确的时间将所需数据传递给任意的应用或者用户。JBoss 数据虚拟化可以帮助我们将数据快速组合和转换为可重用的商业友好的数据模型,通过开放标准接口简单可用。它提供全面的数据抽取、联合、集成、转换,以及传输功能,将来自一个或多个源的数据组合为可重复使用和共享的灵活数据。要了解更多关于 JBoss 数据虚拟化的信息,可以查看它的官方文档。Docker 是一个提供开放平台用于打包,装载和以轻量级容器运行任何应用的开源平台。使用 Docker 容器我们可以轻松处理和启用支持 OData 的 JBoss 数据虚拟化。

下面是该指南中在 Docker 容器中运行支持 OData 的 JBoss 数据虚拟化的简单步骤。

1. 克隆仓库

首先,我们要用 git 命令从 https://github.com/jbossdemocentral/dv-odata-docker-integration-demo 克隆带数据虚拟化的 OData 仓库。假设我们的机器上运行着 Ubuntu 15.04 linux 发行版。我们要使用 apt-get 命令安装 git。


  1. # apt-get install git

安装完 git 之后,我们运行下面的命令克隆仓库。


  1. # git clone https://github.com/jbossdemocentral/dv-odata-docker-integration-demo
  2. Cloning into 'dv-odata-docker-integration-demo'...
  3. remote: Counting objects: 96, done.
  4. remote: Total 96 (delta 0), reused 0 (delta 0), pack-reused 96
  5. Unpacking objects: 100% (96/96), done.
  6. Checking connectivity... done.

2. 下载 JBoss 数据虚拟化安装器

现在,我们需要从下载页 http://www.jboss.org/products/datavirt/download/ 下载 JBoss 数据虚拟化安装器。下载了 jboss-dv-installer-6.0.0.GA-redhat-4.jar 后,我们把它保存在名为 software 的目录下。

3. 创建 Docker 镜像

下一步,下载了 JBoss 数据虚拟化安装器之后,我们打算使用 Dockerfile 和刚从仓库中克隆的资源创建 docker 镜像。


  1. # cd dv-odata-docker-integration-demo/
  2. # docker build -t jbossdv600 .
  3. ...
  4. Step 22 : USER jboss
  5. ---> Running in 129f701febd0
  6. ---> 342941381e37
  7. Removing intermediate container 129f701febd0
  8. Step 23 : EXPOSE 8080 9990 31000
  9. ---> Running in 61e6d2c26081
  10. ---> 351159bb6280
  11. Removing intermediate container 61e6d2c26081
  12. Step 24 : CMD $JBOSS_HOME/bin/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement 0.0.0.0
  13. ---> Running in a9fed69b3000
  14. ---> 407053dc470e
  15. Removing intermediate container a9fed69b3000
  16. Successfully built 407053dc470e

注意:在这里我们假设你已经安装了 docker 并正在运行。

4. 启动 Docker 容器

创建了支持 oData 的 JBoss 数据虚拟化 Docker 镜像之后,我们打算运行 docker 容器并用 -P 标签指定端口。我们运行下面的命令来实现。


  1. # docker run -p 8080:8080 -d -t jbossdv600
  2. 7765dee9cd59c49ca26850e88f97c21f46859d2dc1d74166353d898773214c9c

5. 获取容器 IP

启动了 Docker 容器之后,我们想要获取正在运行的 docker 容器的 IP 地址。要做到这点,我们运行后面添加了正在运行容器 id 号的 docker inspect 命令。


  1. # docker inspect <$containerID>
  2. ...
  3. "NetworkSettings": {
  4. "Bridge": "",
  5. "EndpointID": "3e94c5900ac5954354a89591a8740ce2c653efde9232876bc94878e891564b39",
  6. "Gateway": "172.17.42.1",
  7. "GlobalIPv6Address": "",
  8. "GlobalIPv6PrefixLen": 0,
  9. "HairpinMode": false,
  10. "IPAddress": "172.17.0.8",
  11. "IPPrefixLen": 16,
  12. "IPv6Gateway": "",
  13. "LinkLocalIPv6Address": "",
  14. "LinkLocalIPv6PrefixLen": 0,

6. Web 界面

现在,如果一切如期望的那样进行,当我们用浏览器打开 http://container-ip:8080/ 和 http://container-ip:9990 时会看到支持 oData 的 JBoss 数据虚拟化登录界面和 JBoss 管理界面。管理验证的用户名和密码分别是 admin 和 redhat1!数据虚拟化验证的用户名和密码都是 user。之后,我们可以通过 web 界面在内容间导航。

注意: 强烈建议在第一次登录后尽快修改密码。

总结

终于我们成功地运行了跑着支持 OData 多源虚拟数据库的 JBoss 数据虚拟化 的 Docker 容器。JBoss 数据虚拟化真的是一个很棒的平台,它为多种不同来源的数据进行虚拟化,并将它们转换为商业友好的数据模型,产生通过开放标准接口简单可用的数据。使用 Docker 技术可以简单、安全、快速地部署支持 OData 多源虚拟数据库的 JBoss 数据虚拟化。如果你有任何疑问、建议或者反馈,请在下面的评论框中写下来,以便我们可以改进和更新内容。非常感谢!Enjoy:-)

本文来自合作伙伴“Linux中国”,原文发布日期:2015-09-21  

时间: 2024-10-25 23:55:56

如何在 Docker 容器中运行支持 OData 的 JBoss 数据虚拟化 GA的相关文章

如何在Docker容器中运行GUI程序

如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个打包.分发和运行任意程序的轻量级容器的开放平台.它没有语言支持.框架或者打包系统的限制,并可以运行在任何地方.任何时候,从小型的家用电脑到高端的服务器都可以运行.这让人们可以打包不同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商. 下面是我们该如何在Docker容器中运行

如何在 Docker 容器中运行 Kali Linux 2.0

介绍 Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近,Kali Linux 2.0 发布了,它被认为是这个操作系统最重要的一次发布.另一方面,Docker 技术由于它的可扩展性和易用性让它变得很流行.Dokcer 让你非常容易地将你的程序带给你的用户.好消息是你可以通过 Docker 运行Kali Linux 了,让我们看看该怎么做 :) 在 Docker 中运行 Kali Linux 2.0 相关提示 如果你还没有

如何在Ubuntu14.04的Docker容器中运行OpenVPN?

本文讲的是如何在Ubuntu14.04的Docker容器中运行OpenVPN?,[编者的话]本文来自DigitalOcean,DigitalOcean是美国的虚拟专用服务器提供商,本文主要介绍了如何在Ubuntu14.04上创建使用OpenVPN Docker容器. 介绍 本教程将介绍如何使用Docker来设置和运行OpenVPN容器. OpenVPN提供了一种方法来创建TLS加密(SSL的演进)的虚拟专用网络(VPN).它可以防止网络流量被窃取和中间人(MITM)攻击.专用网络可以用来安全地连

如何在 Docker 容器中架设一个完整的 WordPress 站点

大家好,今天我们来学习一下如何在 Docker 容器里运行的 Nginx Web 服务器中安装 WordPress.WordPress 是一个很好的免费开源的内容管理系统,全球成千上万的网站都在使用它.Docker 是一个开源项目,提供了一个可以打包.装载和运行任何应用的轻量级容器的开放平台.它没有语言支持.框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行.这使它们可以不依赖于特定软件栈和供应商,像一块块积木一样部署和扩展网络应用.数据库和后端服务. 今天,我们会在 do

在 Docker 容器中运行应用程序

案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 mailer 程序,运行于后台,当接收到事件后会向管理员发送邮件. 容器 agent: 该容器运行一个 watcher 程序,以交互模式运行,用于不断地监测 web 服务的运行情况,一旦出现故障会立即向 mailer 容器发送消息. 创建容器 创建并运行 web 容器 $ docker run --

在Docker容器中运行Idea IDE,遇到编辑器中汉字无法输入问题

问题描述 昨天我参照http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/的思路,做了一个能运行IdeaIDE的dockerimage,参见:(1)Dockerfile:https://gitcafe.com/fzx2/p0406/tree/master/Dockerfiles/idea14(2)Image:https://registry.hub.docker.com/u/fangzx/idea14/(3)Linux

在Docker容器中不需要运行sshd的原因浅析_docker

当开始使用Docker时,人们经常问:"我该如何进入容器?",其他人会说"在你的容器里运行一个SSH服务器".但是,从这篇博文中你将会了解到你根本不需要运行SSHd守护进程来进入你的容器.当然,除非你的容器就是一个SSH服务器. 运行SSH服务器是很想当然的,因为它提供了进入容器的简便方式.在我们公司基本上每个人都最少使用过一次SSH.我们中有很大一部分人每天都会使用它,并且他们很熟悉公钥与私钥,无密码登录,密钥代理,甚至有时会使用端口转发和其他不常用的功能.正因如

MAC环境docker容器中的django运行,修改views.py后无变化

问题描述 环境是MAC,上面运行了一个docker容器,在容器里,执行pythonmanage.pyrunserver0.0.0.0:8000来运行django,并监控8000端口.docker创建容器使用的命令:dockerrun-d-v~/code:/home/work/code-p8197:8000code所以,在MAC上.虚拟机上以及docker容器中,同时存在一个code目录,里面代码是一样的,而django的manage.py也在code里面.当我在MAC上修改了django的vie

详解挂载运行的docker容器中如何挂载文件系统_docker

前言 感觉最近很多人都在问docker相关的问题,关于怎么操作一个已经启动的docker容器的文件系统,首先我发现这非常困难,因为 mnt的命名空间. 为了登录进入一个已经启动的docker容器,我们需要这么做: 使用nsenter来在临时挂载点上挂载整个docker容器的文件系统. 创建一个特定目录的绑定挂载来当作卷来使用. 卸载临时挂载. 好吧,开始实践. 启动一个名为charlie的docker实例: $ docker run --name charlie -ti ubuntu bash