Start container with multiple network interfaces

Robert picture Robert · Dec 5, 2015 · Viewed 52.2k times · Source

With 1.9, is there a way to start a container directly with two or more network interfaces?

You can do it after the container is started with "docker network connect", but it means the process is already running and might miss the creation of the new one.

Answer

methadata picture methadata · Sep 8, 2016

This question is top doing a search regarding docker and multiple network interfaces. Although is not the required version in the question I leave here some info:

With Docker 1.12+ it's possible to add more than one network interface to a docker container, but it is needed to create the container first and then attach the second (and subsequence) network NICs prior to start the container:

$ docker create --network=network1 --name container_name containerimage:latest
$ docker network connect network2 container_name
$ docker start container_name

It is needed to create the networks first:

$ docker network create --driver=bridge network1 --subnet=172.19.0.0/24
$ docker network create --driver=bridge network2 --subnet=172.19.1.0/24

Also, you can start the container attaching the dockerhost network interfaces by using the --network=host argument in docker run:

$ docker run --net=host containerimage:latest