Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • docker-mule docker-mule
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MulesoftMulesoft
  • docker-muledocker-mule
  • Wiki
  • Home

Home · Changes

Page history
reynold created page: home authored May 27, 2017 by Reynold Lariza's avatar Reynold Lariza
Hide whitespace changes
Inline Side-by-side
home.md 0 → 100644
View page @ 7a6005a2
# [wslph/mule](https://hub.docker.com/r/wslph/mule)
- [Introduction](#introduction)
- [Changelog](Changelog.md)
- [Contributing](#contributing)
- [Issues](#issues)
- [Announcements](https://git.whiteskylabs.com/mulesoft/docker-mule/issues)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Installing Mule Enterprise License](#installing-mule-enterprise-license)
- [Configuration](#configuration)
- [Available Configuration Parameters](#available-configuration-parameters)
- [References](#references)
- [About](#about)
---
# Introduction
Docker [Mule ESB Runtime](https://www.mulesoft.com/ty/dl/mule) container image for Community and Enterprise Edition.
---
# Contributing
If you find this image useful here's how you can help:
- Send a Pull Request with your awesome new features and bug fixes
- Be a part of the community and help resolve [Issues](https://git.whiteskylabs.com/mulesoft/docker-mule/issues)
---
# Issues
Docker is a relatively new project and is active being developed and tested by a thriving community of developers and testers, and every release includes many enhancements and bugfixes.
Given the nature of the development and release cycle it is very important that you have the latest version of Docker installed because any issue that you encounter might have already been fixed with a newer Docker release.
Install the most recent version of the Docker Engine for your platform using the [official Docker releases](http://docs.docker.com/engine/installation/), which can also be installed using:
```bash
wget -qO- https://get.docker.com/ | sh
```
Fedora and RHEL/CentOS users should try disabling selinux with `setenforce 0` and check if resolves the issue. If it does than there is not much that I can help you with. You can either stick with selinux disabled (not recommended by redhat) or switch to using ubuntu.
If you want to try this on your local development machine, you can try [Docker for Mac](https://docs.docker.com/docker-for-mac/), and for [Docker for Windows](https://docs.docker.com/docker-for-windows/).
If you find any issues with this release, please file an issue request on the [issues](https://git.whiteskylabs.com/mulesoft/docker-mule/issues) page.
In your issue report please make sure you provide the following information:
- The host distribution and release version.
- Output of the `docker version` command
- Output of the `docker info` command
- The `docker run` command you used to run the image (mask out the sensitive bits).
---
# Prerequisites
Your docker host needs to have at least 2GB (or more) of available RAM to run Mule ESB Server Runtime. Please refer to the Mule ESB [hardware requirements](https://docs.mulesoft.com/mule-user-guide/v/3.8/hardware-and-software-requirements) documentation for additional information.
---
# Installation
Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/wslph/mule) and is the recommended method of installation.
```bash
docker pull wslph/mule:3.8.4-ee
```
Example 1 : Launching Mule ESB Server runtime container for Community Edition
```bash
docker run --restart=always --name mule-ce -d \
--publish 7777:7777 \
--env 'MULE_ENV=stg' \
wslph/mule:3.8.1-ce && docker logs -f mule-ce
```
Example 2 : Launching Mule ESB Server runtime container for Enterprise Edition
```bash
docker run --restart=always --name mule-ee -d \
--publish 7777:7777 \
--env 'MULE_ENV=stg' \
wslph/mule:3.8.4-ee && docker logs -f mule-ee
```
Example 3 : Attaching container to host network
```bash
docker run --restart=always --name mule-ee -d \
--net=host \
--env 'MULE_ENV=stg' \
wslph/mule:3.8.4-ee && docker logs -f mule-ee
```
*Please refer to [Available Configuration Parameters](#available-configuration-parameters) to understand `MULE_ENV` and other configuration options*
__NOTE__: Please allow a couple of minutes for the Mule ESB Server runtime to start.
In any of these examples, you should now have Mule ESB Server up and ready for testing. If you want to use this image in production then please read on.
---
# Installing Mule Enterprise License
By default, enterprise edition of Mule ESB Server will run in trial mode. If you want to [install an enterprise license](#installing-mule-enterprise-license) which is either named as `license.lic` or `mule-ee-license.lic`, just drop it in your `<mule-home>/conf`, and then restart your mule container, it will detect and install it. Just do the same process, whenever you need to renew your mule license.
---
# Configuration
**Data Store**
Mule ESB Server is an application hosting software and as such you don't want to lose your code when the docker container is stopped/deleted. To avoid losing any data, you should mount a volume at,
* `/opt/mule/apps`
* `/opt/mule/domains`
* `/opt/mule/conf`
* `/opt/mule/logs`
* `/opt/mule/patches`
Volumes can be mounted in docker by specifying the `--volume` option in the docker run command.
```bash
docker run --restart=always --name mule-ee -d \
--publish 7777:7777 --publish 1098:1098 --publish 25000:5000 --publish 8081:8081\
--env 'MULE_ENV=stg' \
--env 'MULE_MMC_AGENT_PORT=7777' \
--volume ~/mule/apps:/opt/mule/apps \
--volume ~/mule/domains:/opt/mule/domains \
--volume ~/mule/conf:/opt/mule/conf \
--volume ~/mule/logs:/opt/mule/logs \
--volume ~/mule/patches:/opt/mule/patches \
wslph/mule:3.8.4-ee && docker logs -f mule-ee
```
The `/opt/mule/patches` volume sole purpose is to copy (before the mule runtime is started) its content to `/opt/mule/lib/user` and applies only to each specific version of mule runtime (e.g., `3.6.2-ee` requires applying `SE-3341-3.6.2.jar` that fixes the mule application filename issue).
**Applying runtime patch**
The `/opt/mule/patches` volume sole purpose is to copy (before the mule runtime is started) its content to `/opt/mule/lib/user` and applies to specific version of mule runtime (e.g., `3.6.2-ee` requires applying `SE-3341-3.6.2.jar` that fixes the mule application filename issue). This allows maintenance of patch to an existing Mule runtime, requiring only a `docker restart <mule-container>`
**Available Configuration Parameters**
*Please refer the docker run command options for the `--env-file` flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command.*
Below is the complete list of available options that can be used to customize your Mule ESB Server container installation.
| Parameter | Description |
|-----------|-------------|
| `MULE_ENV` | by default, its value is `dev`, it can be anything such as `sit`, `stg`, `prd`, or anything. This is accessible within Mule environment and mule application via `${mule.env}` |
| `MULE_MMC_AGENT_PORT` | This is the port for when you need to register this mule esb container to an MMC server. By default its value is `7777`, but you can change this to use other port (e.g., when you want to have multiple Mule esb runtime container on the same host. |
| `APP_CONFIG_PATH` | by default its value is empty, but it can be overwritten. However anything set here is relative to `/opt/mule/conf/` . This is accessible within Mule environment and mule application via `${mule.config.path}` |
| `MULE_STARTUP_ENV_CONFIG` | This is optional. Useful, when you need to specify some environment variable to mule upon start. For example you can pass a `-M-Dmule.vault.key=mulesoft` parameter. However, that this does not override the other environment variable in this table. |
| `MULE_ENV_OVERRIDE_DEFAULT` | 0 by default. If set to 1, it will load the existing host resources (e.g., `apps`, `domains`, and `conf`) of the host specified path at `--volume`. |
---
# Maintenance
**Shell Access**
For debugging and maintenance purposes you may want access the container's shell. If you are using docker version `1.3.0` or higher you can access a running container's shell using `docker exec` command.
```bash
docker exec -it mule-ee bash
```
---
# References
* For available server runtime version please see [tags](https://hub.docker.com/r/wslph/mule/tags/)
* [Mule ESB User Guide](https://docs.mulesoft.com/mule-user-guide/v/3.8/)
* Container is based from [wslph/ubuntu:xenial-latest](https://hub.docker.com/r/wslph/ubuntu)
* Container is installed with the latest [Oracle JDK8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
* Mule Agent version is **1.6.4**
---
# About
Developed and maintained by [WhiteSky Labs](https://www.whiteskylabs.com), a Premier Partner of [MuleSoft®](https://www.mulesoft.com/) with the mission to be the #1 Certified Partner to deliver specialized API integration services.
\ No newline at end of file
Clone repository
  • changelog
  • Home