Support docker installation via snap, e.g. Ubuntu 22.04

This commit is contained in:
Martin Lablans 2022-10-28 15:14:34 +02:00
parent 853e1d9283
commit 292d71b6c2
3 changed files with 23 additions and 1 deletions

View File

@ -11,6 +11,22 @@ detectCompose() {
fi fi
} }
# https://unix.stackexchange.com/questions/539147
systemctl-exists() {
[ $(systemctl list-unit-files "${1}*" | wc -l) -gt 3 ]
}
dockerUnitName() {
if systemctl-exists docker.service; then
echo "docker.service"
elif systemctl-exists snap.docker.dockerd.service; then
echo "snap.docker.dockerd.service"
else
log ERROR "Unable to detect docker systemd unit."
fail_and_report 1 "Unable to detect docker systemd unit."
fi
}
exitIfNotRoot() { exitIfNotRoot() {
if [ "$EUID" -ne 0 ]; then if [ "$EUID" -ne 0 ]; then
log "ERROR" "Please run as root" log "ERROR" "Please run as root"

View File

@ -40,6 +40,12 @@ cp -v \
lib/systemd/bridgehead-update\@.timer \ lib/systemd/bridgehead-update\@.timer \
/etc/systemd/system/ /etc/systemd/system/
log INFO "Setting Docker unit ..."
for file in $(find /etc/systemd/system -mindepth 1 -maxdepth 1 -type f -name "bridgehead*"); do
sed -i "s/DOCKER_UNIT_NAME/$(dockerUnitName)/g" $file
done
systemctl daemon-reload systemctl daemon-reload
log INFO "Trying to update your bridgehead ..." log INFO "Trying to update your bridgehead ..."

View File

@ -1,6 +1,6 @@
[Unit] [Unit]
Description=Bridgehead (%i) Description=Bridgehead (%i)
Requires=docker.service Requires=DOCKER_UNIT_NAME
[Service] [Service]
User=bridgehead User=bridgehead