The current version of Docker has a very limited set of networking options:

  • bridge – connect a container to the Docker bridge
  • host – run the container in the global network namespace
  • container:xxx – connect a container to the network namespace of another container
  • none – do not configure any networking

If you need something more than that, you can use a tool like pipework to provision additional network interfaces inside the container, but this leads to a synchronization problem: pipework can only be used after your container is running. This means that when starting your container, you must have logic that will wait until the necessary networking is available before starting your service.