Docker for Linux
In this section we'll walk you through the steps to get a single Solace PubSub+ software message broker Docker container up-and-running in a non-cloud Linux environment.
It's assumed you have a stable version of Docker installed.
The number of CPUs and system memory required by your message broker depends on the number of client connections you need to support. By default, fresh installations of the message 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 message 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:
- Information about setting the client scaling tier can be found at Scaling Tier Deployment Considerations.
- Information about configuring storage volumes can be found at Storage Configuration.
Pull the message broker image from the Docker repository using these two steps:
- 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 message 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+ 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 firstname.lastname@example.org if you require assistance.
Once you've obtained the package, start Docker and load the image.
sudo docker load -i /tmp/solace-pubsub-evaluation-<version>-docker.tar.gz
There are many options that you can set with the
docker create or
docker run command that is used to build the message 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 a message 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 message 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 Message 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 220.127.116.112 of the Solace PubSub+ Evaluation Edition, use
You can access the Solace management tool, PubSub+ Manager, or the Solace CLI to start issuing configuration or monitoring commands on the message broker.
Solace PubSub+ Manager management access:
- Open a browser and enter this url: http://<your-message broker's-ip-address>:8080.
- Log in as user
adminwith default password
Solace CLI management access:
Enter the following
sudo docker exec -it pubSubStandardSingleNode /usr/sw/loads/currentload/bin/cli -A
Enter the following commands to enter configuration mode:
- Issue configuration or monitoring commands. For a list of commands currently supported on the message broker, refer to Software Message Broker CLI Commands.
You now have a message 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:
- Default Configuration for Software Message Brokers—Go through the default port numbers for message broker services.
- Scaling Tiers for Software Message Brokers—Learn about message broker connection scaling tiers.
Also, in order to fully utilize the message broker's features, you should familiarize yourself with the configuration operations common to both Solace PubSub+ software message brokers and appliances. For information, see the topics in the Configuration section.
When you are feeling comfortable with your message broker, you can test messaging using the Solace SDKPerf application. You can download SDKPerf from the Other Software section in the Downloads page.