James supports two packaging (IOC framework): guice and spring. Guice allows defining specific products shipping only some components of the James server. As part of this solution, we implemented a simple SMTP (only) server using JPA in the jpa-smtp project.
However, this project currently misses a DockerFile.
You will create such a DockerFile in /dockerfiles/run/guice/jpa-smtp along with a relevant default configuration. You can, of course, get a look to surrounding guice dockerfiles.
Don't hesitate to ask for help on the Gitter (https://gitter.im/apache/james-project) chat.