|
3 | 3 | DIR=$(dirname $0)
|
4 | 4 |
|
5 | 5 | echo "Entering $0 at $(date) "
|
6 |
| -DIND_VOLUME_STAT_DIR=${DIND_VOLUME_STAT_DIR:-/var/lib/docker/dind-volume} |
| 6 | +DOCKERD_DATA_ROOT=${DOCKERD_DATA_ROOT:-/var/lib/docker} |
| 7 | +DIND_VOLUME_STAT_DIR=${DIND_VOLUME_STAT_DIR:-${DOCKERD_DATA_ROOT}/dind-volume} |
7 | 8 | DIND_VOLUME_CREATED_TS_FILE=${DIND_VOLUME_STAT_DIR}/created
|
8 | 9 | DIND_VOLUME_LAST_USED_TS_FILE=${DIND_VOLUME_STAT_DIR}/last_used
|
9 | 10 | DIND_VOLUME_USED_BY_PODS_FILE=${DIND_VOLUME_STAT_DIR}/pods
|
@@ -127,7 +128,7 @@ MONITOR_PID=$!
|
127 | 128 | ### start docker with retry
|
128 | 129 | DOCKERD_PID_FILE=/var/run/docker.pid
|
129 | 130 | DOCKERD_PID_MAXWAIT=${DOCKERD_PID_MAXWAIT:-20}
|
130 |
| -DOCKER_UP_MAXWAIT=${DOCKERD_UP_MAXWAIT:-90} |
| 131 | +DOCKER_UP_MAXWAIT=${DOCKERD_UP_MAXWAIT:-60} |
131 | 132 | while true
|
132 | 133 | do
|
133 | 134 | [[ -n "${SIGTERM}" ]] && break
|
|
148 | 149 | fi
|
149 | 150 | sleep 0.5
|
150 | 151 | done
|
151 |
| - rm -f ${DOCKERD_PID_FILE} |
| 152 | + rm -fv ${DOCKERD_PID_FILE} |
152 | 153 | fi
|
153 | 154 |
|
| 155 | + echo "Checking if other dockerd running on same /var/lib/docker" |
| 156 | + CONTEINERD_DB=${DOCKERD_DATA_ROOT}/containerd/daemon/io.containerd.metadata.v1.bolt/meta.db |
| 157 | + if [[ -f ${CONTEINERD_DB} ]] && ; then |
| 158 | + echo "Checking if another dockerd is running on same ${DOCKERD_DATA_ROOT} boltdb $CONTEINERD_DB is locked" |
| 159 | + CNT=0 |
| 160 | + while ! bolter -f ${CONTEINERD_DB} |
| 161 | + do |
| 162 | + echo "$(date) - Waiting for containerd boltd ${DOCKERD_PID_FILE}" |
| 163 | + (( CNT++ )) |
| 164 | + if (( CNT > ${DOCKER_UP_MAXWAIT} )); then |
| 165 | + echo " giving up and trying to start docker anyway Waited more than ${DOCKER_UP_MAXWAIT}s for containerd boltdb unlock" |
| 166 | + break |
| 167 | + fi |
| 168 | + sleep 1 |
| 169 | + done |
| 170 | + fi |
| 171 | + |
| 172 | + echo "Starting dockerd" |
154 | 173 | dockerd ${DOCKERD_PARAMS} <&- &
|
155 | 174 | echo "Waiting at most 20s for docker pid"
|
156 | 175 | CNT=0
|
|
0 commit comments