Runc hook (OCI compatible) for setting up default bridge networking for containers.

Clone this repo:

Branches

  1. 206f8b2 update readme by Jess Frazelle · 7 weeks ago master
  2. 74e23a0 Bump version to v0.2.1 by Jess Frazelle · 7 weeks ago v0.2.1
  3. ebb57c0 update travis token by Jess Frazelle · 7 weeks ago
  4. dcedbf3 update version by Jess Frazelle · 7 weeks ago v0.2.0
  5. 85b1ab9 update vendor by Jess Frazelle · 5 months ago

netns

Travis CI

Runc hook for setting up default bridge networking.

Installation

Binaries

Via Go

$ go get github.com/jessfraz/netns

Usage

$ netns --help
            _
 _ __   ___| |_ _ __  ___
| '_ \ / _ \ __| '_ \/ __|
| | | |  __/ |_| | | \__ \
|_| |_|\___|\__|_| |_|___/

 Runc hook for setting up default bridge networking.
 Version: v0.1.0

  -bridge string
        name for bridge (default "netns0")
  -d    run in debug mode
  -iface string
        name of interface in the namespace (default "eth0")
  -ip string
        ip address for bridge (default "172.19.0.1/16")
  -ipfile string
        file in which to save the containers ip address (default ".ip")
  -mtu int
        mtu for bridge (default 1500)
  -v    print version and exit (shorthand)
  -version
        print version and exit

Place this in the Hooks.Prestart field of your runc config.

{
    ...
    "hooks": {
        "prestart": [
            {
                "path": "/path/to/netns"
            }
        ]
    },
    ...
}

List network namespaces

$ sudo netns ls
IP                  LOCAL VETH          PID                 STATUS
172.19.0.3          netnsv0-21635       21635               running
172.19.0.4          netnsv0-21835       21835               running
172.19.0.5          netnsv0.2.194       22094               running
172.19.0.6          netnsv0-25996       25996               running