Running the engine in a Docker container on Linux; Windows containers are not supported yet, and the capability itself is marked experimental.
The image is built with the same installation steps: the package, the license file in /etc/pmta, the volume-audit-api-key line for a volume-based license, and starting pmtad.
A license bound to a MAC address requires the same address on the container — with the –mac-address option. The engine needs the machine’s fully qualified name: without host-name it is set with the –hostname option.
Node state must live outside the image — the configuration, spool and accounting are attached as volumes, otherwise recreating the container loses them.
What to set at startup:
| What | How |
|---|---|
| MAC-bound license | docker run –mac-address=… |
| volume-based license | volume-audit-api-key in the configuration |
| fully qualified machine name | host-name or –hostname |
| own configuration | a volume over /etc/pmta/config |
# a container with the MAC address from the license and its own configuration docker run --mac-address="12:34:56:78:90:ab" --hostname="pmta.docker" -v /absolute-path-to-my-config/config:/etc/pmta/config --name=test pmta-centos7
2 relations
Installing on LinuxThe procedure in which the mechanism is applied. § 11.23
docker exec -ti test pmta show status
3 articles
◇The activation key is a prerequisite for installation, not a step after itWithout an activation key from SparkPost support the engine neither installs nor runs, and the license tier sets the outbound connection ceiling: on Standard everything above 200 is ignored.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.◇How to turn a sending plan into hardwareTwo constants for sizing any node: about 2 KB of memory per queued recipient and spool space proportional to the total size of the messages.