Browse Source

rootless: fix "x509: certificate signed by unknown authority" on openSUSE Tumbleweed

openSUSE Tumbleweed was facing "x509: certificate signed by unknown authority" error,
as `/etc/ssl/ca-bundle.pem` is provided as a symlink to `../../var/lib/ca-certificates/ca-bundle.pem`,
which was not supported by `rootlesskit --copy-up=/etc` .

See rootless-containers/rootlesskit issues 225

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Akihiro Suda 4 years ago
parent
commit
8610d8ce4c
1 changed files with 10 additions and 0 deletions
  1. 10 0
      contrib/dockerd-rootless.sh

+ 10 - 0
contrib/dockerd-rootless.sh

@@ -118,5 +118,15 @@ else
 		# https://github.com/moby/moby/issues/41230
 		# https://github.com/moby/moby/issues/41230
 		chcon system_u:object_r:iptables_var_run_t:s0 /run
 		chcon system_u:object_r:iptables_var_run_t:s0 /run
 	fi
 	fi
+
+	if [ "$(stat -c %T -f /etc)" = "tmpfs" ] && [ -L "/etc/ssl" ]; then
+		# Workaround for "x509: certificate signed by unknown authority" on openSUSE Tumbleweed.
+		# https://github.com/rootless-containers/rootlesskit/issues/225
+		realpath_etc_ssl=$(realpath /etc/ssl)
+		rm -f /etc/ssl
+		mkdir /etc/ssl
+		mount --rbind ${realpath_etc_ssl} /etc/ssl
+	fi
+
 	exec dockerd $@
 	exec dockerd $@
 fi
 fi