This provides an open street map tile server inside Docker containers.
For a quick setup, you can use the pre-written provisioning script, see Provisioning a Centos Tile Server.
For detail about how to set it up manually and how the components work, read these sections: