Yes there is support for this.
Now you can docker itself to create and manage docker networks, but i suppose you are looking to see is puppet can do it instead. Well the answer is yes, using the puppet module & puppet DSL you can create and manage the docker network.
Her's an example :
docker_network { 'my-overlay-connection':
ensure => present,
driver => 'overlay',
subnet => '192.168.1.0/24',
gateway => '192.168.1.1',
ip_range => '192.168.1.4/32',
}
If no driver is mentioned then docker network will configured as a bridge network. another thing to note is that some networks will require the docker daemon to be used them.
for example you will need to configure a cluster store for overlay network which you can do on docker with the below command:
You can do that on the docker class like so:
extra_parameters => '--cluster-store=<backend>://172.17.8.101:<port> --cluster-advertise=<interface>:2376'