/docker.cookbook

Some useful docker images

Primary LanguagePythonMIT LicenseMIT

docker.cookbook

Some useful docker images and howto

Docker setup for Raspberry Pi

Ensure we are up to date:

sudo apt-get update && sudo apt-get upgrade -y

Use official get-docker script from docker:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
rm get-docker.sh

For use docker cli with pi user, we need to add it to docker group. Then reboot to take into account:

sudo usermod -aG docker pi
sudo reboot

Some fix for Raspberry as docker host:

# enable cgroup: add "cgroup_enable=memory cgroup_memory=1" to kernel args
sudo sed -i '/cgroup_enable=memory/!s/$/ cgroup_enable=memory/' /boot/cmdline.txt
sudo sed -i '/cgroup_memory=1/!s/$/ cgroup_memory=1/' /boot/cmdline.txt
# exclude docker virtual interfaces from dhcpcd
# this avoid dhcpcd service crashes (see https://github.com/raspberrypi/linux/issues/4092/)
sudo sh -c 'echo "" >> /etc/dhcpcd.conf'
sudo sh -c 'echo "# exclude docker virtual interfaces" >> /etc/dhcpcd.conf'
sudo sh -c 'echo "denyinterfaces veth*" >> /etc/dhcpcd.conf'

sudo reboot

We can install portainer (a web container management tool) on docker:

docker run -d -p 0.0.0.0:9000:9000 --name=portainer --restart=always \
           -v /var/run/docker.sock:/var/run/docker.sock \
           -v portainer-data-vol:/data portainer/portainer-ce

Add docker-compose (here for v2.4.0):

sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Now you can connect to portainer tool at http://localhost:9000/