mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-22 00:41:55 -09:00
package/docker-engine: rewrite dockerd init script
This brings the dockerd init script in line with the standard Buildroot init script pattern. Reload using SIGHUP is also supported now, note that the Docker documentation cautions that not all parameters can be changed at runtime (without a full restart). Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
fcfdfb276d
commit
ef5947774f
@@ -1,38 +1,68 @@
|
||||
#!/bin/sh
|
||||
|
||||
NAME=dockerd
|
||||
DAEMON=/usr/bin/$NAME
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
DAEMON_ARGS=""
|
||||
DAEMON="dockerd"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME $1
|
||||
DOCKERD_ARGS=""
|
||||
|
||||
do_start() {
|
||||
echo -n "Starting $NAME: "
|
||||
start-stop-daemon --start --quiet --background --make-pidfile \
|
||||
--pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \
|
||||
&& echo "OK" || echo "FAIL"
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
start() {
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
# shellcheck disable=SC2086 # we need word splitting for DOCKERD_ARGS
|
||||
start-stop-daemon --start --background --pidfile "$PIDFILE" \
|
||||
--exec "/usr/bin/$DAEMON" \
|
||||
-- --pidfile "$PIDFILE" $DOCKERD_ARGS
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
do_stop() {
|
||||
echo -n "Stopping $NAME: "
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
&& echo "OK" || echo "FAIL"
|
||||
stop() {
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
start-stop-daemon --stop --pidfile "$PIDFILE" --exec "/usr/bin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
return "$status"
|
||||
fi
|
||||
while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \
|
||||
--exec "/usr/bin/$DAEMON"; do
|
||||
sleep 0.1
|
||||
done
|
||||
rm -f "$PIDFILE"
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
printf "Reloading %s config: " "$DAEMON"
|
||||
start-stop-daemon --stop --signal HUP -q --pidfile "$PIDFILE" \
|
||||
--exec "/usr/bin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_start
|
||||
;;
|
||||
stop)
|
||||
do_stop
|
||||
;;
|
||||
restart)
|
||||
do_stop
|
||||
sleep 1
|
||||
do_start
|
||||
;;
|
||||
start|stop|restart|reload)
|
||||
"$1";;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user