Last active 6 months ago

Revision 40a3c1e59198732905dcd5cde56cab5c362cac27

docker_jessie_deploy.sh Raw
1#!/bin/bash
2[ "$(cat /etc/debian_version | awk -F. {'print $1'})" -ne "8" ] && echo exit 1
3echo "deb https://download.docker.com/linux/debian $(lsb_release -cs) stable" > \
4 /etc/apt/sources.list.d/docker.list && \
5apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0EBFCD88; \
6aptitude install -y apt-transport-https ca-certificates bridge-utils; \
7aptitude update; \
8aptitude install -y docker-ce && \
9update-rc.d docker enable && \
10# https://gist.github.com/steakknife/9094991#file-run_me_001__install_docker_and_fixes-sh-L20-L22 (enable swap resource limiting)
11# https://tianon.github.io/post/2017/05/18/docker-setup-redux.html#configure-boot-parameters
12sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT="quiet\)"/\1 cgroup_enable=memory swapaccount=1 systemd.legacy_systemd_cgroup_controller=yes vsyscall=emulate"/' /etc/default/grub && \
13update-grub && \
14cat > /etc/cron.weekly/docker-cleanup <<EOF
15#!/bin/bash
16# See https://getintodevops.com/blog/keeping-the-whale-happy-how-to-clean-up-after-docker
17# DELETE STOPPED CONTAINERS, AND VOLUMES AND NETWORKS THAT ARE NOT USED BY CONTAINERS
18# docker system prune -a -f
19# DELETE EXITED CONTAINERS
20# docker container ps -aqf status=exited && docker container rm $(docker container ps -aqf status=exited)
21# DELETE DANGLING AND UNTAGGED IMAGES
22# docker images -q -f dangling=true && docker image rm $(docker images -q -f dangling=true)
23# DELETE ORPHANED AND DANGLING VOLUMES
24docker volume ls -qf dangling=true && docker volume rm $(docker volume ls -qf dangling=true)
25EOF
26chmod +x /etc/cron.weekly/docker-cleanup