# Docker Containerized services for easy deployment and updates. ## Inspiration / Further Reading - [https://docs.docker.com/install/](https://docs.docker.com/install/) - [https://docs.docker.com/install/linux/docker-ce/ubuntu/](https://docs.docker.com/install/linux/docker-ce/ubuntu/) - [https://blog.alexellis.io/get-started-with-docker-on-64-bit-arm/](https://blog.alexellis.io/get-started-with-docker-on-64-bit-arm/) ## Pre Flight Setup ``` bash apt remove docker docker-engine docker.io apt install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` ### Arm (32bit / armv7) ``` bash add-apt-repository \ "deb [arch=armhf] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" ``` ### Arm (64bit) ``` bash add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" ``` ## Install ``` bash 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. ## Create Container Script Dir For the containers detailed here, you'll want a dedicated directory for keeping the scripts/outputs. ```mkdir /root/docker``` ## Configure Docker Default Bridge Ensure the default Docker bridge doesn't conflict with existing networks. ``` bash cat >> /etc/docker/daemon.json <