Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Problem

Can I install docker on a

...

Spinup linux host?  And how do I resolve Docker IPRange Conflicts?

Solution

Docker uses
Panel
bgColor#fff
dockerd and docker-compose IPRange conflicts

Dockerd and docker-compose by default use the 172.x17.x.x ip space and Yale is also using this range for private ip spaceIP space, which conflicts with important Yale campus resources, including the Yale VPN.

If you used using the Docker official repo, it would will have created a docker0 interface with a 172.x17.x.x interface, e. i.e.
sudo Ifconfig docker0
docker0: flags=4099<up,broadcast,multicast> mtu 1500
inet 172.x.x.x netmask g.


$ netstat -nr | grep '172.17'
172.17.0.0 0.0.0.0 255.255.0.0 broadcast U 0 . 0 . 0 .0docker0


This overlaps with campus Yale networks, and causes routing to fail since it tries to route out of the docker0 interface and go’s nowhere. The fix is to just use a 192.x.x.x ip on the docker0 inteface
Do the following.
</up,broadcast,multicast>

  • sudo su -
  • systemctl stop docker
  • ifdown docker0
  • ifconfig docker0 down
  • if you are certain ITS VPNs. The fix is to change the default network used by the Docker interface and docker-compose.

    DNO reserved networks:

    10.221.31.0/24

    10.221.32.0/22


    $ sudo su -
    $ cat << EOF >> /etc

    /sysconfig/network-scripts/ifcfg-docker0
    TYPE=Bridge
    DEVICE=docker0
    NETMASK=255.255.252.0
    IPADDR=192.168.5.1
    ONBOOT=yes
    BOOTPROTO=none
    NM_CONTROLLED=no
    DELAY=0
    EOF
  • ifup docker0
  • systemctl start docker

    /docker/daemon.json
    {
    "bip": "10.221.31.1/24",
    "fixed-cidr": "10.221.31.1/25","default-address-pools": [
    {"base":"10.221.32.0/22", "size":24}
    ]

    }
    EOF

    Restart docker:

    $ sudo systemctl restart docker


    Then restart docker-compose:

    $ sudo docker-compose down

    $ sudo docker-compose up


    You may need to reboot your Spinup virtual machine to clear any lingering entries in the system's network routing table in order for the fix to take effect.

    The ifconfig output should resemble the following:

    $ ifconfig
    br-353d062c6792: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 10.221.32.1 netmask 255.255.255.0 broadcast 10.222.0.255
    inet6 fe80::42:28ff:fe92:8b0d prefixlen 64 scopeid 0x20<link>
    ether 02:42:28:92:8b:0d txqueuelen 0 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 11 bytes 906 (906.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
    inet 10.221.31.1 netmask 255.255.255.0 broadcast 10.221.31.255
    ether 02:42:ba:bb:7f:23 txqueuelen 0 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


    references:


    Filter by label (Content by label)
    showLabelsfalse
    max5
    spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@ca98fe5d
    showSpacefalse
    sortmodified
    reversetrue
    typepage
    cqllabel in ( "docker" , "linux" ) and type = "page" and space = "spinup"
    labelsspinup selfservice

    ...