Using an SDN

Using a software defined network

DC/OS provides each container with its own IP address by allowing operators to run containers on a wide-variety of IP-based virtual networks.

In order to run containers on a virtual network, the operator needs to install a CNI or CNM network out-of-band. DC/OS itself comes with its own virtual networking solution called DC/OS overlay which the operator could use to provide containers with unique IP addresses.

Using Virtual Networks

First, you must configure the virtual networks.

Virtual networks are configured at install time. You must specify a canonical name for each network in the config.yaml. When your service needs to launch a container, refer to it by that canonical name.

To use a virtual network in a Marathon app definition, specify the "network": "USER" property along with an ipAddress field in the form: {"ipAddress": {"network": "$MYNETWORK"}}. The value of $MYNETWORK is the canonical name of the network.


The following Marathon application definition specifies a network named dcos-1, which refers to the target DC/OS virtual network of the same name.

   "cmd":"env; ip -o addr; sleep 30",

Learn more about ports and networking in Marathon.