How to Build a Postfix Docker Image
Update 2022-10-16: I added some details on logging and the postmap operations and image link.
Did you ever need a postfix docker image and the found out that there is no official image? Well, a lot of people did, so there are dozens if not hundreds of postfix images on DockerHub. But do you really want to use an image made by a complete stranger? After all, the image could do anything, or send your mails anywhere.
Well, I hat the same problem whilst preparing an upcoming post. I decided to create yet another image, but share the code so you can build one yourself. And actually, it’s super easy. Here is the dockerfile:
FROM alpine:3.16 |
I assume that you will also mount your config files into /etc/postfix
. For us not to have to mount the compiled map files, I added the postmap commands. When the container starts it will update the maps you want and then start Postfix in foreground.
To redirect all postfix output to the console, add this to main.cf
:
maillog_file = /dev/stdout |
That way you can access the output via docker logs. You might need an additional entry in the master.cf
, but it should be already present. Look it up in the Postfix documentation.
Start the build like this:
docker build -t postfix:3.7.2-r0-1 . |
And you are done. Or you can my Postfix docker image if you dare to. Also, check out my Dovecot image.