I got a windows container version working a couple months ago. I also added a "mail-root" startup argument onto MailService.exe. This allows you to load off of an external system directory instead of the usual C:\Program Files (x86)\SmarterTools\SmarterMail\Service.
I HAD to add that setting into SmarterMail to support docker containers otherwise your system files would be stored IN the container. Using this "mail-root" for a custom service directory and a custom data path (not C:\SmarterMail), allows your container to not house any SM data except for the files necessary to run SmarterMail, while system config and data would all be externally stored.
This setting is now in SM 16 and 17 and has been for months since I added it in, purely for docker support. When I get some time I may document the process of creating a container and maybe even setup something automated. I've been looking to learn the Azure pipeline/project stack for a while now, this would give me a chance to get my feet wet with automating docker builds.
EDIT: I added in that mail-root as a test for getting docker to work. I figured it was useful so I left that mail-root option in, BUT it has been months since I tried that mail-root argument so heads up, things may break if you use it.
Matt Petty
Senior Software Developer
SmarterTools Inc.
www.smartertools.com