New in 2015 is an OpenEAI Sample Enterprise Docker image that encapsulates all of the example implementations and integrations in one neat package. The reason behind this transition was to allow us to package the examples for only one platform (Linux) instead of three (Windows, Mac, Linux) and focus our efforts on updating existing examples and adding new ones.
If you are new to docker, first download the Docker Tools and you can also read a docker Getting Started Guide for Mac, Windows, or Linux.
To download the current OpenEAI Examples docker from DockerHub run:
docker pull openeai/openeai-examples:2015a |
Once you have the image, to run the OpenEAI Examples Container execute:
docker run -i -t -p 42222:22 -p 3306:3306 -p 389:389 -p 61616:61616 -p 8161:8161 -p 8080:8080 -p 8282:8282 openeai/openeai-examples:2015a /bin/bash |
On Windows you may encounter the following error when attempting to run the container from the Windows MING64 shell:
Stephen@arch2 MINGW64 ~ $ docker run -i -t -p 42222:22 -p 3306:3306 -p 389:389 -p 61616:61616 -p 8161:8161 -p 8080:8080 -p 8282:8282 openeai/openeai-examples:2015a /bin/bash cannot enable tty mode on non tty input |
In this case, you can ssh to the Docker VM on your host and execute the pull and/or run commands there. For example:
Stephen@arch2 MINGW64 ~ $ docker-machine ssh default ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| Boot2Docker version 1.8.2, build master : aba6192 - Thu Sep 10 20:58:17 UTC 2015 Docker version 1.8.2, build 0a8c2e3 docker@default:~$ docker run -i -t -p 42222:22 -p 3306:3306 -p 389:389 -p 61616:61616 -p 8161:8161 -p 8080:8080 -p 8282: 8282 openeai/openeai-examples:2015a /bin/bash |
Once you start the OpenEAI Examples Docker container, all of the services required to access the OpenEAI Examples should be running. Remember the following:
If you want to save your current state of your sample enterprise back to the image or to a completely different image you can resume work with later, you can do that this this command:
docker commit <container> <some_name> |
It can be helpful to create an /etc/hosts entry for the Docker instance on your host to allow you to address resources in containers with a convenient host name. For example:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 192.168.99.100 docker |
The following services in your container should now be available from your host:
Service | Connection Info | User/Credential | Description |
---|---|---|---|
SSH Daemon | ssh -X openeai@docker -p 42222 | user: openeai password: openeai | You can interact with the OpenEAI Examples Docker container using ssh and sftp. If you run an Xwindows server on your host you can also send xterms and Java applications like the demo self service app, Apache Directory Studio, and Oxygen XML back to your host's desktop. |
MySQL Database Server | docker:3306 | user: admin password: none (unset) | MySQL supports the databases for the example applications in the sample enterprise. |
OpenLDAP Directory Server | ldap://docker:389 | user: cn=Manager,dc-any-openeai-enterprise, dc=org password: secret | OpenLDAP is the example directory server for the sample enterprise. |
ActiveMQ JMS Provider | http://docker:8161/admin (Admin URL) tcp://docker:61616 (JMS Broker URI) | user: admin password: none | ActiveMQ is the message transport for all messages in the sample enterprise. |
Tomcat Application Server (Sakai LMS) | http://docker:8080/portal (Sakai LMS) | user: admin password: admin | Sakai is an open source learning management system similar in function to Blackboard, D2L, Canvas, etc. The sample enterprise demonstrates provisioning users in Sakai as they are added to the ERP system. |
Tomcat Application Server (uPortal) | http://docker:8080/uPortal (uPortal) | user: developer password: developer | uPortal is an open source portal framework used by a number of universities. The sample enterprise demonstrates a portlet for changing person/employee information in the ERP system and password synchronization. |
Tomcat Application Server (OpenEAI Toolkit Console) |
To get the most out of the OpenEAI Sample Enterprise Docker image, install an X windows server on your host like Xquartz for Mac OS X <https://support.apple.com/en-us/HT201341> or Xming for Windows <http://sourceforge.net/projects/xming/>. This will allow you to run the Self Service client application and other tools like the Oxygen XML editor and Apache Directory Studio that are included in the Docker image. Remember to ssh with the -X option to enable Xwindows tunneling or otherwise enable that in the SSH client you use to connect to the Docker container. Here are some examples of running Xwindows apps in the sample enterprise:
openeai@d09a162c75ed:/opt/openeai/openeai-examples-2015a$ ./start.sh ScheduledSelfService openeai@d09a162c75ed:/opt/openeai/openeai-examples-2015a$ oxygen.sh & openeai@d09a162c75ed:/opt/openeai/openeai-examples-2015a$ ApacheDirectoryStudio & |