Docker for Linux

In this section we'll walk you through the steps to get a single Solace PubSub+ software event broker Docker container up-and-running in a non-cloud Linux environment.

Before You Begin

It's assumed you have a stable version of Docker installed.

System Requirements

The number of CPUs and system memory required by your event broker depends on the number of client connections you need to support. By default, fresh installations of the event broker allow up to 100 client connections.

The following table lists the minimum number of CPUs, and the minimum value of the total memory that must be provisioned for each connection scaling tier.

Minimum System Resources Required and Recommended For Connection Scaling Tiers

Client Connections CPUs* Required Minimum Recommended Minimum
Virtual Memory (MiB) Virtual Memory (MiB)

Physical Memory (MiB)

up to 100 2 1,903 1,903 930
up to 1,000 2 5,301 5,683 3,748
up to 10,000 4 12,892 13,266 11,321
up to 100,000 8 28,191 28,565 26,620
up to 200,000 12 53,816 53970 52,024

*The monitoring node in a high-availability (HA) group needs only 1 CPU.

The example shown on this page is suitable for use for up to the 1,000 connection scaling tier, and is appropriately configured for testing and PoC activities. If you plan to use your event broker in a production environment, or scale above the 1,000 client connections tier, you should note that there are a number of adjustments that will be need to be made to the example and you should consult the following topics:

Step 1: Get a PubSub+ Software Event Broker Image

Pull the event broker image from the Docker repository using these two steps:

  1. Start Docker.

  2. Pull the image:

    sudo docker pull solace/solace-pubsub-standard

This example assumes that you are using Solace PubSub+ Standard. If you want to use another edition, you need to obtain the appropriate event broker package:

  • Solace PubSub+ Enterprise Evaluation Edition: Go to the Solace Downloads page. Then select the Docker tile in the Solace PubSub+ Enterprise Evaluation Edition Images section and click Download. You will be able to download a compressed archive file called solace-pubsub-evaluation-<version>-docker.tar.gz.
  • Solace PubSub+ Enterprise: If you have purchased a Docker image of Solace PubSub+ Enterprise, Solace will give you information for how to download the compressed tar archive package from a secure Solace server. Contact Solace Support at support@solace.com if you require assistance.

Once you've obtained the package, start Docker and load the image.

For example:

sudo docker load -i /tmp/solace-pubsub-evaluation-<version>-docker.tar.gz

Step 2: Create the PubSub+ Software Event Broker Container

There are many options that you can set with the docker create or docker run command that is used to build the event broker container. In the following example we will show one that sets up a simple configuration suitable for a test deployment that can be used to help you become familiar with Solace PubSub+:

sudo docker run -d -p 8080:8080 -p 55555:55555 --shm-size=2g --env username_admin_globalaccesslevel=admin --env username_admin_password=admin --name=solace solace/solace-pubsub-standard

This example runs an event broker named solace, using the latest PubSub+ Standard image pulled from Docker Hub, creates an admin user with global access permissions, and publishes the following event broker container ports to the same ports on the Linux host.

  • port 8080—enables SEMP management traffic to the container. Use this port when connecting to the container using the PubSub+ Manager (refer to Solace PubSub+ Manager for more information).

  • port 55555—enables SMF data to pass through the container.

To use additional services you must publish each corresponding port. For example, to pass AMQP encrypted traffic, you need to publish port 5671. For more information about the default ports used for each service, refer to Default Configuration for Software Event Brokers.

Note:  If you loaded the image from a compressed tar archive, replace solace/solace-pubsub-standard in the example with the repository and tag that corresponds to your image. For example, if you loaded version 8.10.0.1022 of the Solace PubSub+ Evaluation Edition, use solace-pubsub-evaluation:8.10.0.1022.

Step 3: Manage the PubSub+ Software Event Broker

You can access the Solace management tool, PubSub+ Manager, or the Solace CLI to start issuing configuration or monitoring commands on the event broker.

Solace PubSub+ Manager management access:

  1. Open a browser and enter this url: http://<your-event broker's-ip-address>:8080.
  2. Log in as user admin with default password admin.

Solace CLI management access:

  1. Enter the following docker exec command:

    sudo docker exec -it <container_name> /usr/sw/loads/currentload/bin/cli -A

  2. Enter the following commands to enter configuration mode:

    solace> enable
    solace# config
    solace(configure)#

  3. Issue configuration or monitoring commands. For a list of commands currently supported on the event broker, refer to Software Event Broker CLI Commands.

Next Steps

You now have an event broker Docker container with a basic configuration that is ready for messaging tasks.

There are additional configuration tasks you can make use of in the following topics:

Also, in order to fully utilize the event broker's features, you should familiarize yourself with the configuration operations common to both Solace PubSub+ software event brokers and appliances. For information, see the topics in the Configuration section.

When you are feeling comfortable with your event broker, you can test messaging using the Solace SDKPerf application. You can download SDKPerf from the Other Software section in the Downloads page.