pyIPAM - Docker Plugin for IPAM written in Python
Jacek Kowalski
2020-05-22 40a1f97aa6f7ef85c73fcf942f7872b61c64a0fd
commit | author | age
659253 1 #!/bin/bash
JK 2
3 set -e
4
5 NAME=${NAME:-jacekkow/pyipam}
6 VERSION=${VERSION:-latest}
7
8 PLUGIN="${NAME}:${VERSION}"
9
10 docker network create \
11   --internal \
12   --driver bridge \
13   --ipam-driver "${PLUGIN}" \
14   --ipv6 \
15   --subnet 192.168.255.0/24 \
16   --ip-range 192.168.255.128/26 \
17   --gateway 192.168.255.254 \
18   --subnet 2001:db8::/32 \
19   --ip-range 2001:db8:aaaa:bbbb::/64 \
20   --gateway 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff \
21   test1
22
23 ADDRESSES=$(docker run --rm --network test1 \
24   debian \
25   /bin/ip addr show
26 )
27 echo "${ADDRESSES}" | grep 192.168.255.129/24
28 echo "${ADDRESSES}" | grep 2001:db8:aaaa:bbbb::1/32
29
30
31 ADDRESSES=$(docker run --rm --network test1 \
32   --ip 192.168.255.25 --ip6 2001:db8:dddd:eeee:ffff:1:2:3 \
33   debian \
34   /bin/ip addr show
35 )
36 echo "${ADDRESSES}" | grep 192.168.255.25/24
37 echo "${ADDRESSES}" | grep 2001:db8:dddd:eeee:ffff:1:2:3/32
38
39 docker network rm test1
40
41
42 docker network create \
43   --internal \
44   --driver bridge \
45   --ipam-driver "${PLUGIN}" \
46   --ipv6 \
47   --subnet 192.168.255.0/24 \
48   --gateway 192.168.255.254 \
49   --subnet 2001:db8::/32 \
50   --gateway 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff \
51   test2
52
3e641f 53 ROUTES=$(docker run --rm --network test2 \
JK 54   debian \
55   /bin/ip route show
56 )
57 echo "${ROUTES}" | grep 192.168.255.254
58
59 ROUTES=$(docker run --rm --network test2 \
60   debian \
61   /bin/ip -6 route show
62 )
63 echo "${ROUTES}" | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff
64
659253 65 docker network rm test2