@@ -92,16 +92,20 @@ _tls_generate_certs() {
9292# no arguments passed
9393# or first arg is `-f` or `--some-option`
9494if [ " $# " -eq 0 ] || [ " ${1# -} " != " $1 " ]; then
95- # set DOCKER_HOST to the default "--host" value (for both standard or rootless)
95+ # set "dockerSocket" to the default "--host" *unix socket* value (for both standard or rootless)
9696 uid=" $( id -u) "
9797 if [ " $uid " = ' 0' ]; then
98- : " ${DOCKER_HOST := unix:/// var/ run/ docker.sock} "
98+ dockerSocket= ' unix:///var/run/docker.sock'
9999 else
100100 # if we're not root, we must be trying to run rootless
101101 : " ${XDG_RUNTIME_DIR:=/ run/ user/ $uid } "
102- : " ${DOCKER_HOST := unix:// $XDG_RUNTIME_DIR / docker.sock} "
102+ dockerSocket= " unix://$XDG_RUNTIME_DIR /docker.sock"
103103 fi
104- export DOCKER_HOST
104+ case " ${DOCKER_HOST:- } " in
105+ unix://* )
106+ dockerSocket=" $DOCKER_HOST "
107+ ;;
108+ esac
105109
106110 # add our default arguments
107111 if [ -n " ${DOCKER_TLS_CERTDIR:- } " ] \
@@ -112,7 +116,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
112116 ; then
113117 # generate certs and use TLS if requested/possible (default in 19.03+)
114118 set -- dockerd \
115- --host=" $DOCKER_HOST " \
119+ --host=" $dockerSocket " \
116120 --host=tcp://0.0.0.0:2376 \
117121 --tlsverify \
118122 --tlscacert " $DOCKER_TLS_CERTDIR /server/ca.pem" \
@@ -123,7 +127,7 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
123127 else
124128 # TLS disabled (-e DOCKER_TLS_CERTDIR='') or missing certs
125129 set -- dockerd \
126- --host=" $DOCKER_HOST " \
130+ --host=" $dockerSocket " \
127131 --host=tcp://0.0.0.0:2375 \
128132 " $@ "
129133 DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS=" ${DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS:- } -p 0.0.0.0:2375:2375/tcp"
0 commit comments