Docker for Mac

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 macOS. If you are interested in setting up message brokers in an HA redundancy group on a macOS platform, take a look at Configuring HA Groups in macOS.

Before you begin

In the example shown, which makes use of Solace PubSub+ Standard, is suitable for use with up to 100 client connections. However, a maximum of 1,000 client connections can be configured on your platform, provided appropriate resources have been provisioned. For information on client connection scaling, refer to Connection Scaling Tiers.

It's assumed you have:

  • Mac OS X Yosemite 10.10.3 or higher.
  • Docker for Mac installed, with at least 2 GiB of memory dedicated to the Docker for Mac. For more information about allocating memory and swap space, refer to the Docker Settings page.

Limitations

  • The following features are not supported: Replication; Docker Engine Swarm mode.
  • Multi-node routing (MNR) is not supported at 100 connection scale. To use MNR, you must use the 1000 connection scaling tier or higher.
  • Only bridge networking is supported.

Step 1: Get a Software Message Broker

First, you need to obtain a message broker Docker package, which is a compressed tar archive containing a message broker Docker repository consisting of a single message broker Docker image.

  • Solace PubSub+ Standard: Go to the Downloads page of dev.solace.com. Then select the docker link from Solace PubSub+ Standard. You will be able to download a compressed archive file called solace-pubsub-standard-<version>-docker.tar.gz.
  • Solace PubSub+ Enterprise Evaluation Edition: Go to the Downloads page of dev.solace.com. Then select the docker link from Solace PubSub+ Enterprise Evaluation Edition. 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 have obtained a copy of the message broker package, you can upload it to a directory on your host and load the image using these two steps:

  1. Start Docker and open a command-line terminal.
  2. Load the image:

    > docker load -i /Users/username/Downloads/solace-pubsub-standard-8.10.x.x-docker.tar

    In this example, the compressed tar archive of Solace PubSub+ Standard has been uploaded to Users/username/Downloads.

    When loading is finished, you can check the image with the images command.

    > docker images
    REPOSITORY                TAG         IMAGE ID        CREATED        SIZE
    solace-pubsub-standard    8.10.x.x    b8a61124d92f    10 days ago    1.644 GB

Step 2: Run the Container

Once you have loaded the image, you can run the container on your macOS host using Docker's run command:

> 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-pubsub-standard:8.10.x.x

This example runs a message broker named solace, using Solace PubSub+ Standard software message broker 8.10.x.x, creates an admin user with global access permissions, and publishes the following message broker container ports to the same ports on the macOS 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 Configuration Defaults.

Tip:  You can use Docker's ps command to check on the status of the message broker container once it's running.

> docker ps

The STATUS column associated with the message broker displays if the container is running and for how long.

The PORTS column associated with the message broker displays the port mapping from the macOS host to the container.

Step 3: Manage the Container

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:

  1. Open a browser and enter this url: http://localhost:8080.
  2. Log in as user admin with password admin.

Solace CLI management access:

  1. Enter the following docker exec command:

    > docker exec -it solace /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 message broker, refer to Software Message Broker CLI Commands.

Next Steps

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:

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 Tools section of the dev.solace.com Downloads page.

Frequently Used Next Steps