From 2c5a8eda24132cef40fd19dd1476b474aa6f3b88 Mon Sep 17 00:00:00 2001 From: Roman Vanicek Date: Wed, 20 Nov 2024 21:54:59 +0100 Subject: [PATCH 1/3] Built-in docker can be disabled --- entrypoint.sh | 2 ++ supervisord.conf | 2 ++ 2 files changed, 4 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index 7cce9af..d49fc56 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -12,6 +12,7 @@ CODE_GUID="${CODE_GUID:-1001}" CODE_USERNAME=$(getent passwd "$CODE_UUID" | cut -d: -f1) CODE_GROUPNAME=$(getent group "$CODE_GUID" | cut -d: -f1) USER_SUDO="${USER_SUDO:-false}" +RUN_DOCKER="${RUN_DOCKER:-true}" #GIT_NAME #GIT_EMAIL @@ -71,6 +72,7 @@ else fi export CODE_USERNAME +export RUN_DOCKER cd /home/code exec "$@" \ No newline at end of file diff --git a/supervisord.conf b/supervisord.conf index 08571f7..4746411 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -27,9 +27,11 @@ command = /usr/sbin/sshd -D [program:containerd] command = /usr/bin/containerd +autostart = %(ENV_RUN_DOCKER)s [program:dockerd] command = /usr/bin/dockerd --containerd=/run/containerd/containerd.sock +autostart = %(ENV_RUN_DOCKER)s #[program:code] #command = /usr/bin/code serve-web --host 0.0.0.0 --port 80 From 054844a12d0524398cc39faf158003734fd5ff87 Mon Sep 17 00:00:00 2001 From: Roman Vanicek Date: Thu, 21 Nov 2024 00:03:42 +0100 Subject: [PATCH 2/3] Docker extension. Docker sock symbolic link. --- Dockerfile | 4 ++-- entrypoint.sh | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3526f9b..bc69192 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="Roman Vanicek " COPY nodesource.gpg /usr/share/keyrings/nodesource.gpg RUN set -x -e; \ - # Install -up-to-date nodejs repo + # Install up-to-date nodejs repo apt update -y; \ apt install -y --no-install-recommends --no-install-suggests apt-transport-https ca-certificates; \ node_version="20.x"; \ @@ -37,7 +37,7 @@ RUN set -x -e; \ mkdir -p /home/code/.vscode-server/cli/servers/Stable-${codeServerVer}/server; \ tar xzf /tmp/code.tar.gz --directory /home/code/.vscode-server/cli/servers/Stable-${codeServerVer}/server --strip-components=1; \ mkdir /home/code/.vscode-server/extensions; \ - for i in eamodio.gitlens ms-vscode.hexeditor mutantdino.resourcemonitor icsharpcode.ilspy-vscode patcx.vscode-nuget-gallery jock.svg ms-dotnettools.csdevkit ms-dotnettools.dotnet-maui golang.go ms-python.vscode-pylance ms-vscode-remote.remote-containers ms-mssql.data-workspace-vscode redhat.java james-yu.latex-workshop tomoki1207.pdf; \ + for i in eamodio.gitlens ms-vscode.hexeditor mutantdino.resourcemonitor icsharpcode.ilspy-vscode patcx.vscode-nuget-gallery jock.svg ms-dotnettools.csdevkit ms-dotnettools.dotnet-maui golang.go ms-python.vscode-pylance ms-vscode-remote.remote-containers ms-azuretools.vscode-docker ms-mssql.data-workspace-vscode redhat.java james-yu.latex-workshop tomoki1207.pdf; \ do /home/code/.vscode-server/cli/servers/Stable-${codeServerVer}/server/bin/code-server --extensions-dir /home/code/.vscode-server/extensions --install-extension $i; done; \ # Code #wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/4849ca9bdf9666755eb463db297b69e5385090e3/code_1.93.0-1725459079_amd64.deb -O /tmp/code.deb; diff --git a/entrypoint.sh b/entrypoint.sh index d49fc56..ec2de9d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -13,6 +13,7 @@ CODE_USERNAME=$(getent passwd "$CODE_UUID" | cut -d: -f1) CODE_GROUPNAME=$(getent group "$CODE_GUID" | cut -d: -f1) USER_SUDO="${USER_SUDO:-false}" RUN_DOCKER="${RUN_DOCKER:-true}" +#DOCKER_HOST #GIT_NAME #GIT_EMAIL @@ -71,6 +72,11 @@ else ! groups "$CODE_USERNAME" | tr " " "\n" | grep "^sudo$" || gpasswd -d "$CODE_USERNAME" sudo fi +# Link external docker even for dumb tools (ie. Visual Studio Docker extension) +if [ "$RUN_DOCKER" != "true" -a "$DOCKER_HOST" != "unix:///var/run/docker.sock" -a "$DOCKER_HOST" != "" ]; then + sn -l "${DOCKER_HOST##unix://}" /run/docker.sock +fi + export CODE_USERNAME export RUN_DOCKER From a6cfca25a04cfa0afc05851229cb362cf88b2a29 Mon Sep 17 00:00:00 2001 From: Roman Vanicek Date: Thu, 21 Nov 2024 19:32:29 +0100 Subject: [PATCH 3/3] FIX docker.sock symlink creation --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index ec2de9d..4e92c03 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -74,7 +74,7 @@ fi # Link external docker even for dumb tools (ie. Visual Studio Docker extension) if [ "$RUN_DOCKER" != "true" -a "$DOCKER_HOST" != "unix:///var/run/docker.sock" -a "$DOCKER_HOST" != "" ]; then - sn -l "${DOCKER_HOST##unix://}" /run/docker.sock + ln -s "${DOCKER_HOST##unix://}" /run/docker.sock fi export CODE_USERNAME