docker/entrypoint.sh

34 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
set -e;
# https://docs.docker.com/reference/cli/dockerd/
##
## build command to execute
##
COMMAND="dockerd --rootless --host=0.0.0.0:${DOCKERD_PORT:-2375} --tls=false --data-root=/woodpecker/docker --shutdown-timeout=${DOCKERD_SHUTDOWN_TIMEOUT:-0} --feature=buildkit=true --feature=containerd-snapshotter=true"
if [[ "${DOCKERD_ROOTLESS:-true}" == "true" ]]; then
COMMAND="$COMMAND "
fi
if [[ -n "$DOCKERD_LOG_LEVEL" ]]; then
COMMAND="$COMMAND --log-level=$DOCKERD_LOG_LEVEL"
fi
if [[ -n "$DOCKERD_REGISTRY_MIRROR" ]]; then
COMMAND="$COMMAND --registry-mirror=$DOCKERD_REGISTRY_MIRROR"
if [[ "$DOCKERD_REGISTRY_MIRROR" =~ ^http:\/\/.*$ ]]; then
COMMAND="$COMMAND --insecure-registry=${DOCKERD_REGISTRY_MIRROR//http:\/\//}"
fi
fi
if [[ -n "$DOCKERD_INSECURE_REGISTRY" ]]; then
COMMAND="$COMMAND --insecure-registry=$DOCKERD_INSECURE_REGISTRY"
fi
##
## execute command
##
export XDG_RUNTIME_DIR=/woodpecker/docker/runtime
COMMAND="rootlesskit --state-dir=/woodpecker/docker/rootlesskit --copy-up=/etc --copy-up=/run --propagation=rslave --disable-host-loopback --net=slirp4netns --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --port-driver=builtin $COMMAND"
echo -e "${COMMAND// --/\\n --}\n"
eval "$COMMAND"