= Setup TIP: Tested on a Raspberry Pi with "Buster" == Intro networkd is a small and lean service to configure network interfaces, designed mostly for server use cases in a world with hotplugged and virtualized networking. Its configuration is similar in spirit and abstraction level to ifupdown, but you don't need any extra packages to configure bridges, bonds, vlan etc. It is not very suitable for managing WLANs yet; NetworkManager is still much more appropriate for such Desktop use cases. There are mainly three setups to have a peer to peer network: * unprotected ad-hoc interface by configuring the WiFi device * unprotected ad-hoc interface using wpa_supplicant (Recommended) * Only with suitable (RSN-IBSS capable) USB dongle: * protected ad-hoc interface using wpa_supplicant and WPA encryption (best solution if possible) * ad-hoc interface with additional USB/WiFi dongle for uplink to internet router == Install prerequisites [source,sh] ---- sudo apt-get install apt-transport-https ca-certificates software-properties-common -y ---- == Download and install Docker. * *sudo su* # if not already done [source,sh] ---- curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh usermod -aG docker pi curl https://download.docker.com/linux/raspbian/gpg ---- == Give the ‘pi’ user the ability to run Docker. [source,sh] ---- sudo usermod -aG docker pi ---- == Import Docker and swarmlab.io keys [source,sh] ---- curl https://download.docker.com/linux/raspbian/gpg cat > /root/get-certs-swarmlab <<'EOF' registry_address=hub.swarmlab.io registry_port=5443 mkdir -p /etc/docker/certs.d/$registry_address:$registry_port openssl s_client -showcerts -connect $registry_address:$registry_port < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/docker/certs.d/$registry_address:$registry_port/ca.crt registry_port=5480 mkdir -p /etc/docker/certs.d/$registry_address:$registry_port openssl s_client -showcerts -connect $registry_address:$registry_port < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/docker/certs.d/$registry_address:$registry_port/ca.crt EOF chmod +x /root/get-certs-swarmlab /root/get-certs-swarmlab ---- == Add the Docker Repo. [source,sh] ---- echo "deb https://download.docker.com/linux/raspbian/ buster stable" >> /etc/apt/sources.list ---- == Update your Pi. [source,sh] ---- apt-get update apt-get upgrade ---- == Start the Docker service. [source,sh] ---- systemctl enable docker.service systemctl start docker.service ---- == Verify that Docker is installed and running. [source,sh] ---- docker info docker ps ---- == Fix "x509: certificate signed by unknown authority" issue * On Error: Get https ://registry.vlabs.uniwa.gr:5080/v2/: x509: certificate Pulling ... ERROR: Get https://registry.vlabs.uniwa.gr:5080/v2/: x509: certificate signed by unknown authority http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/install/install-docker.html#fix-x509-certificate-signed-by-unknown-authority-issue[See here^] or simple run: [source,sh] ---- /root/get-certs-swarmlab ---- == Reboot NOTE: reboot