Skip to content

Commit a67f571

Browse files
committed
fix: update root dir for containerd when extra ebs volume is mounted
1 parent 16a67b8 commit a67f571

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

modules/runners/templates/start-runner.sh

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,8 @@ if [ -b /dev/nvme1n1 ]; then
231231

232232
mkdir -p /data
233233
mount -L data /data
234-
mkdir -p /data/docker
235-
chown -R root:docker /data/docker
234+
mkdir -p /data/docker /data/containerd
235+
chown -R root:docker /data/docker /data/containerd
236236

237237
mkdir -p /data/_work
238238
chown -R $run_as:$run_as /data/_work
@@ -245,9 +245,25 @@ if [ -b /dev/nvme1n1 ]; then
245245
ln -s /data/_diag /opt/actions-runner/
246246

247247
usermod -a -G docker ubuntu
248+
249+
# Configure docker to use /data/docker as the data-root
248250
echo '{"data-root": "/data/docker"}' | jq '.' > /etc/docker/daemon.json
249251

250-
systemctl restart docker.service
252+
# Configure containerd to use /data/containerd as the root
253+
if [ -f /etc/containerd/config.toml ]; then
254+
cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
255+
else
256+
mkdir -p /etc/containerd
257+
containerd config default > /etc/containerd/config.toml
258+
fi
259+
260+
if grep -q '^root *=.*' /etc/containerd/config.toml; then
261+
sed -i "s|^root *=.*|root = \"/data/containerd\"|" /etc/containerd/config.toml
262+
else
263+
sed -i "1i root = \"/data/containerd\"" /etc/containerd/config.toml
264+
fi
265+
266+
systemctl restart docker.service containerd.service
251267
docker info
252268
fi
253269

0 commit comments

Comments
 (0)