Naposledy aktivní 6 months ago

Revize ae9f6ae8a774e00f69e60e621121efb0f5245724

deploy_rootlessdocker.sh Raw
1#!/bin/bash
2# wget https://gist.githubusercontent.com/waja/0deb4dd5cd759371270dc3e1f5dabcb5/raw/deploy_rootlessdocker.sh -O /tmp/a && sh /tmp/a
3
4# Check if dockerd is installed
5[ $(which dockerd) ] || wget https://gist.githubusercontent.com/waja/01ba2641f93f461044f9/raw/docker_deploy.sh \
6 -O /tmp/docker_deploy.sh && bash /tmp/docker_deploy.sh
7
8# Stop and disable dockerd (runs as root)
9systemctl stop docker && systemctl disable docker
10
11# Install curl and needed (new) slirp4netns
12apt update && apt install -y curl && \
13 apt -t buster-backports install -y slirp4netns
14
15# Download and install docker rootless
16tmp=$(mktemp -d)
17trap "rm -rf $tmp" EXIT INT TERM
18STATIC_RELEASE_ROOTLESS_URL="https://master.dockerproject.org/linux/x86_64/docker-rootless-extras.tgz"
19ROOTLESS_BIN="/usr/local/bin/"
20cd "$tmp"
21curl -L -o rootless.tgz "$STATIC_RELEASE_ROOTLESS_URL"
22tar zxf "$tmp/rootless.tgz" -C "$ROOTLESS_BIN" --strip-components=1
23
24# https://github.com/moby/moby/blob/master/docs/rootless.md#debian-excluding-ubuntu
25# https://github.com/moby/moby/blob/master/docs/rootless.md#routing-ping-packets
26cat <<EOF | sh -x
27apt install -y uidmap
28cat <<EOT > /etc/sysctl.d/50-rootless.conf
29kernel.unprivileged_userns_clone = 1
30net.ipv4.ping_group_range = 0 2147483647
31EOT
32sysctl --system
33EOF
34
35cat <<EOF > /etc/profile.d/docker-rootless.sh
36export XDG_RUNTIME_DIR=/tmp/docker-\${UID}
37[ -d \${XDG_RUNTIME_DIR} ] || mkdir \${XDG_RUNTIME_DIR}
38export DOCKER_HOST=unix:///tmp/docker-\${UID}/docker.sock
39export PATH=\$PATH:/sbin
40alias dockerd-rootless='dockerd-rootless.sh --experimental --storage-driver vfs'
41EOF
42