Docker Create Options Configuration

The table below lists the options for the docker create command supported by Solace PubSub+ software event broker Docker containers. For a complete description of the docker create command, and its associated options, refer to the Docker Docs website.

Option Notes for Solace PubSub+ Software Event Broker Docker Containers
--add-host value  
--attach value  
--blkio-weight value Performance affecting.
--blkio-weight-device value Performance affecting.
--cap-add value

Add Linux capabilities.

If UID is set to a non-zero value, any --cap-add options in the docker create command have no effect.

--cap-drop value

Drop Linux capabilities.

If UID is set to a non-zero value, any --cap-drop options in the docker create command have no effect.

--cgroup-parent string  
--cidfile string  
--cpuset-cpus string This option can be used to limit the Solace PubSub+ software event broker Docker container to a subset of the Docker host CPUs (or cores). It is expected that this parameter should be used on multi-tenant Docker hosts.
--dns value Set custom DNS servers. Refer to Docker's Configure container DNS. Default is none.
--dns-opt value Set DNS options. Refer to Docker's Configure container DNS. Default is none.
--dns-search value Set custom DNS search domains. Refer to Docker's Configure container DNS. Default is none.
--env value Allows for setting Configuration Keys. A list of available Configuration Keys is presented in Configuration Key Usage. Examples on how to set them are presented in the setting of Docker create options step provided in the procedure for Docker Images for each environment.
--env-file value  
--expose value Expose a port or a range of ports
--group-add value  
--help  
--hostname string For multi-tenant Docker hosts, it is recommended to use –-hostname to set a Solace PubSub+ software event broker Docker container’s hostname. It should be noted that --hostname is not supported if –uts=host.
--interactive  
--ip string Container IPv4 address
--label value Set meta data on a container
--label-file value Read in a line delimited file of labels
--log-driver string

The Solace PubSub+ software event broker Docker container does not impose any limitations on the logging driver used on the Docker host.

The supported logging drivers are json-file, syslog, journald, fluentd, gelf, awslogs, and splunk. If unspecified, the json-file driver is used.

When either the json-file or journald logging drivers are specified, the docker logs command can be used to view formatted logs from the container instance.

By default, only container startup logs are streamed to stdout. The debug, command, and event logs are written to managed log files in the jail storage-element. These logging outputs can be configured to stream to stdout using Configuration Keys.

--log-opt value Logging driver options.
--mac-address string Container MAC address
--memory string  
--memory-swap string Recommendation: --memory-swap=-1
--memory-swappiness int Default setting is -1 (inherited from Docker host)
--name string  
--network-alias value Add network-scoped alias for the container
--network string  
--oom-score-adj int  
--pid string  
--pids-limit int  
--privileged  
--publish=value

Publish a Solace PubSub+ software event broker Docker Container's port(s) to the host

--publish-all Publish all exposed ports to random ports
--restart string  
--security-opt value  
--shm-size string

When setting the connection scaling tier the POSIX shared memory size, as defined by shm-size, must be set in accordance with your choice of scaling tier as follows,

Requirement: --shm-size=1g for maximum client connections settings up to 100.

Requirement: --shm-size=2g for maximum client connection settings up to 10,000 (including 1,000).

Requirement: --shm-size=3.3g for maximum client connection settings up to 200,000 (including 100,000).

For more information on client connection scaling tier requirements, refer to Scaling Tier Deployment Considerations.

--storage-opt value  
--tmpfs value  
--tty  
--ulimit value

Recommendation: --ulimit memlock=-1 which allows the ENTRYPOINT process to do unlimited memlocking to prevent swapping.

Recommendation: --ulimit core=-1. Solace requires core files to debug any system crashes. It is recommended to set the core limit to unlimited to get a full core dump.

When setting the connection scaling tier, --ulimit nofile must be set in accordance with your choice of tier as follows,

Recommendation: --ulimit nofile=2448:6592 for maximum client connection settings up to 100.

Recommendation: --ulimit nofile=2448:10192 for maximum client connection settings up to 1,000.

Recommendation: --ulimit nofile=2448:42192 for maximum client connection settings up to 10,000.

Recommendation: --ulimit nofile=2448:222192 for maximum client connection settings up to 100,000.

Recommendation: --ulimit nofile=2448:422192 for maximum client connection settings up to 200,000.

If the nofile setting is not set high enough, then unexpected failures may happen when the number of connections increases.

For more information on configuring client connection scaling tiers, refer to Scaling Tiers for Software Event Brokers.

--user <uid>:<gid>

<uid>: user id

<gid>: group id

For software event broker 9.4.0 release onwards, when an event broker Docker container is created, <uid> and <gid> are assigned these default values: <uid> = 1000001 and <gid> = 0 . Prior to the 9.4.0 release, the default uid was 0 and arbitrary gid was not supported.

If an event broker Docker container is created with <uid>=0, then non-privileged users in the Docker Host can run the event broker Docker container as root, which is not recommended.

--userns string  
--uts string Recommendation: For single-tenant Docker hosts, –-uts=host is used. The Solace PubSub+ software event broker Docker container shares the same UTS namespace as the Docker Host, meaning that the software event broker Docker Container and Docker Host hostnames are synchronized.
--volume value  
--volume-driver string Only the local and local-persist volume-drivers are supported.
--volumes-from value