Skip to main content

Network configuration of Docker containers.

Project description

Simple network bridge configuration for Docker containers. It is similar in functionality to the pipework script, but has persistent configuration and can automatically configure networking when containers are started.

Installation

Netcfg can be installed via pip:

$ pip install netcfg

Usage

After installation, there are two parts to netcfg. First, a daemon process must be launched with root privileges and given access to the Docker IPC socket:

$ netcfg daemon

By default, netcfg stores configuration under /var/lib/netcfg/netcfg.json, but this location may be overriden by using the --config command-line argument. After the daemon is running in the background, one can setup netcfg configuration by calling the netcfg script.

First, one should define one or more networks:

$ netcfg create foo0 bridge

The first argument specifies the network name and the other specifies the network type. Currently only networks with type bridge are supported, but netcfg implements different network types as modules so new ones could be added.

Then, we can attach networks to one or more containers:

$ netcfg attach my_container_a foo0 --address 10.42.0.1/24
$ netcfg attach my_container_b foo0 --address 10.42.0.2/24

Currently only static addressing can be configured (IPv4 and IPv6 are supported) and multiple addresses may be specified. In case one only wants an address-less L2 veth device, no address argument should be given.

Existing configuration can be shown by using:

$ netcfg show
{
  "containers": {
    "my_container_a": {
      "name": "my_container_a",
      "networks": {
        "foo0": {
          "address": [
            "10.42.0.1/24"
          ]
        }
      }
    },
    "my_container_b": {
      "name": "my_container_b",
      "networks": {
        "foo0": {
          "address": [
            "10.42.0.2/24"
          ]
        }
      }
    }
  },
  "networks": {
    "foo0": {
      "destroy_on_stop": false,
      "name": "foo0",
      "type": "bridge"
    }
  }
}

If the containers are running, networks will be configured immediately. Otherwise, networks will be configured when the named containers are started.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netcfg-0.1.1.tar.gz (10.3 kB view details)

Uploaded Source

File details

Details for the file netcfg-0.1.1.tar.gz.

File metadata

  • Download URL: netcfg-0.1.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for netcfg-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f81b4994bf689891182525684e2da942162d52e017daa8a3c03d5c832450f12b
MD5 35ac1d75634122fd9d968a62d58e387b
BLAKE2b-256 3c588168114ada7f0a57af1d7db925f69b515bfeae0210d12c015f15e142765a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page