The main documentation repository for the 🍭☁️ https://lollipopcloud.solutions
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

docker.md 2.1KB

Docker

Containerized services for easy deployment and updates.

Inspiration / Further Reading

Pre Flight Setup


apt remove docker docker-engine docker.io
apt install \
    apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Arm (32bit / armv7)


add-apt-repository \
   "deb [arch=armhf] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Arm (64bit)


add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Install


apt update
apt install docker-ce
systemctl enable docker

Adjust Storage

OPTIONAL

If you have an external USB storage device always connected, you may want to move the contents of /var/lib/docker to somewhere on the external storage and use a symlink in place. This will help with churn on the internal micro-sd card and extend its life.

Configure Docker Default Bridge

Ensure the default Docker bridge doesn’t conflict with existing networks.

Note: replace arm64 with arm32 in the below if using an arm32 board


cat >> /etc/docker/daemon.json <<EOF
{
  "bip": "10.30.0.1/16",
  "labels": [
    "os=linux",
    "arch=arm64"
  ]
}
EOF
systemctl restart docker

Setup Custom Network for Services


docker network create \
  --subnet=172.30.0.1/16 \
  docker-private

Trust Docker Private LAN


nmcli connection show # Look for uuid of new docker bridge
nmcli connection modify [uuid] connection.zone trusted
systemctl restart NetworkManager docker firewalld
firewall-cmd --info-zone trusted